求助有关excel vba

xiaoqiang0604 2011-05-24 12:42:41
Private Sub CommandButton1_Click()
Dim iFind As Range
Dim a As Integer '工作表的数目
Dim b As Double '暂存元件数量差值= 库存量 - 需求量
For a = 2 To Worksheets.Count Step 1
i = 5
Set BranchName = Worksheets(1).Range("A:A") '查询
Do While Worksheets(a).Cells(i, 2).Text <> ""
Set iFind = BranchName.Find(Worksheets(a).Cells(i, 2).Text)
If a = 2 Then

If Not iFind Is Nothing Then
TargetRow = iFind.Row
'MsgBox (Worksheets(1).Cells(TargetRow, 10).Value)
Worksheets(a).Cells(i, 8).Value = Worksheets(1).Cells(TargetRow, 10).Value
Else
Worksheets(a).Cells(i, 8).Value = ""
End If
b = Worksheets(1).Cells(TargetRow, 10).Value - Worksheets(a).Cells(i, 9).Value '求差
If b > 0 Then
Worksheets(1).Cells(i, 12).Value = b
Else
Worksheets(1).Cells(i, 12).Value = ""
End If
Else
If Not iFind Is Nothing Then
TargetRow = iFind.Row
'MsgBox (Worksheets(1).Cells(TargetRow, 10).Value)
Worksheets(a).Cells(i, 8).Value = Worksheets(1).Cells(TargetRow, 12).Value
Else
Worksheets(a).Cells(i, 8).Value = ""
End If
b = Worksheets(1).Cells(TargetRow, 12).Value - Worksheets(a).Cells(i, 9).Value '求差
If b > 0 Then
Worksheets(1).Cells(i, 12).Value = b '不能执行????
Else
Worksheets(1).Cells(i, 12).Value = ""
End If

End If
i = i + 1
Loop
Next a
End Sub



其中b = Worksheets(1).Cells(TargetRow, 12).Value - Worksheets(a).Cells(i, 9).Value '求差
If b > 0 Then
Worksheets(1).Cells(i, 12).Value = b '不能执行????
Else
Worksheets(1).Cells(i, 12).Value = ""
End If

他总是跳过Worksheets(1).Cells(i, 12).Value = b ,是不是他不能判断正负值啊?顺便在帮我看看整个程序还有啥问题?
还望多多批评指正
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
单步调试啊,设置个断点,看看求差以后b的值。
程序写的不太规范,也不好说其他地方有什么问题。
xiaoqiang0604 2011-05-24
  • 打赏
  • 举报
回复
谢谢各位大侠,用你们的方法我搞定它了,是我太大意了,嘿嘿。。。。
simon__sun 2011-05-24
  • 打赏
  • 举报
回复
如下加几个MSGBOX 看看具体值在析一下问题在那
msgbox  Worksheets(1).Cells(TargetRow, 12).Value 
msgbox Worksheets(a).Cells(i, 9).Value
b = Worksheets(1).Cells(TargetRow, 12).Value - Worksheets(a).Cells(i, 9).Value '求差
msgbox b
If b > 0 Then
booksoon 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 xiaoqiang0604 的回复:]
Private Sub CommandButton1_Click()
Dim iFind As Range
Dim a As Integer '工作表的数目
Dim b As Double '暂存元件数量差值= 库存量 - 需求量
For a = 2 To Worksheets.Count Step 1
i = 5
Set BranchName = Worksheets(1).R……
[/Quote]
跳过就说明b>0这个条件不满足
啊的发哦 2011-05-24
  • 打赏
  • 举报
回复
那就先从调试开始吧
xiaoqiang0604 2011-05-24
  • 打赏
  • 举报
回复
怎样是规范呢
xiaoqiang0604 2011-05-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 choasrules 的回复:]
单步调试啊,设置个断点,看看求差以后b的值。
程序写的不太规范,也不好说其他地方有什么问题。
[/Quote]嘿嘿,,,我还没有入门呢,谢谢
一、Excel高级技巧 3 1、 编辑技巧 3 2、单元格内容的合并 4 3、条件显示 4 4、自定义格式 5 5、绘制函数图像 6 6、自定义函数 6 7、矩阵计算 7 8、自动切换输入法 7 9、批量删除空行 7 10、如何避免错误信息 8 11、宏的应用 9 12、图表的应用技巧 9 二、EXCEL技巧52例 11 三、Excel常见问题 17 四、Excel工作表保护大法 19 五、Excel编辑使用六技巧 20 1.编辑技巧 20 2、单元格内容的合并 21 3、条件显示 22 4、自定义格式 22 5、批量删除空行 23 6、如何避免错误信息 23 六、ExcelHome精华版整理 24 1、从身份证号码中提取性别 24 2、xls--->exe可以么? 25 3、列的跳跃求和 25 4、能否象打支票软件那样输入一串数字它自动给拆分成单个数字? 25 5、如何编这个公式 26 6、将文件保存为以某一单元格中的值为文件名的宏怎么写 26 7、IE中实现链接EXCEL表 26 8、EXCEL中求两陈列的对应元素乘积之和 27 9、求助日期转换星期的问题 27 10、研究彩票,从统计入手 27 11、如何自动设置页尾线条? 28 12、求工齡 28 13、如何用excel求解联立方程: 29 14、行高和列宽单位是什么? 如何换算到毫米? 29 15、如果想用宏写一个完全退出EXCEL的函数是什么? 29 16、请问如何编写加载宏? 29 17、EXCEL2000中视面管理器如何具体运用呀? 30 18、用VBA在自定义菜单中如何仿EXCEL的菜单做白色横线? 30 19、如何去掉单元格中间两个以上的空格? 30 20、打印表头? 31 七、Excel鲜为人知的35招秘技 31 1、建立分类下拉列表填充项 31 2、建立“常用文档”新菜单 32 3、让不同类型数据用不同颜色显示 32 4、制作“专业符号”工具栏 32 5、用“视面管理器”保存多个打印页面 33 6、让数据按需排序 33 7、把数据彻底隐藏起来 33 8、让中、英文输入法智能化地出现 34 9、让“自动更正”输入统一的文本 34 10、在Excel中自定义函数 34 11、表头下面衬张图片 34 12、用连字符“&”来合并文本 35 13、快速打印学生成绩条 35 14、Excel帮你选函数 35 15、同时查看不同工作表中多个单元格内的数据 36 16、为单元格快速画边框 36 17、控制特定单元格输入文本的长度 36 18、成组填充多张表格的固定单元格 36 19、改变文本的大小写 37 20、提取字符串中的特定字符 37 21、把基数词转换成序数词 37 22、用特殊符号补齐位数 38 23、创建文本直方图 38 24、计算单元格中的总字数 38 25、关于欧元的转换 39 26、给表格做个超级搜索引擎 39 27、Excel工作表大纲的建立 39 28、插入“图示” 40 29、熟悉Excel的“从文本到语音” 40 30、Excel中“摄影”功能的妙用 40 31、在多张表格间实现公用数据的链接和引用 40 32、“驯服”Excel 2002的剪贴板窗口 41 33、利用公式审核工具查看数据出处 41 34、巧用Excel 2002的“智能鼠标” 41 35、Excel 2002“监视”窗口的应用 42 八、BIOS的基本概念 42
大家好,2009年9月份注册以来,在论坛上学到了许多东西,得得许多会员和版主及管理的帮助和关爱,真的很感谢大家,正是因为,正是因为大家都是无私且乐于助人,分享自己的宝贵的技术和心得,且使我对EXCEL充满着激情,在我的脑海里总是浮现: 1. 我是ExcelHome论坛的会员,我很荣幸 2. 工作空余时间我会情不自禁来到ExcelHome之家,看看家,学习一些别人的的心得与帮助一些新会员 3. 那里有太多太多的宝贝,有意外的收获和惊喜(众里寻“她”千百度;踏破铁鞋无觅处,在EH得来全不费功夫) 4. 遇到问题我会在论坛和百度找,再找不到我就会发贴提问。呵呵,这里一定会得到帮助的 正是因为这些,因为大家的无私,所以我也不能自私,呵呵,分享一下打造“自己2010选项卡”,2010选项卡的修改比2003版的菜单修改复杂了,希望能帮到一些对这方面感兴趣的朋友,由于水平够,里面有许多不足,欢迎大家指正 ,呵呵,我八婆了一大堆,进入主题 对于Excel2007和2010,你注意到的第一件事可能就是它新外观,沿用多年的菜单与工具栏的用户界面已被抛弃了,取而代之的是选项卡和功能区的新界面,现在我们一步步来制作一个自己的选项卡(首先申明,有些代码和方法来自ExcelHome论坛和网络,在这里谢谢这些提供代码的朋友 ,俗话说的好“前人载树,后人乘凉”,并非个人所写) 第一步:在桌面上创建一个名为customUI的文件夹 第二步:步骤2 打开记事本,在其中复制下面的XML代码:文件名为CustomUI.xml,编码为UTF-8 保存到桌面customUI文件夹中

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧