在EXCEL中如何用VB控制单元格下移,并能判断当条件满足时相加

具体是这样的,在EXCEL中做了一个库存,当点”入库”按钮时,”库存”列自动与”预入数”相加.但现在的问题是下列的代码过多,达几百行,这样电脑在计算时速度很慢.所以现在想... 具体是这样的,在EXCEL中做了一个库存,当点”入库”按钮时,”库存”列自动与”预入数”相加.
但现在的问题是下列的代码过多,达几百行,这样电脑在计算时速度很慢.所以现在想通过更改VB的代码,使其”智能”化,即判断F列是否为0,当为0时不进行运算,不为0时,进行计算.

Sub 出库_单击()
Range("d48").Value = Range("d48").Value + Range("e48").Value
Range("d49").Value = Range("d49").Value + Range("e49").Value
Range("d50").Value = Range("d50").Value + Range("e50").Value
Range("d51").Value = Range("d51").Value + Range("e51").Value
Range("d52").Value = Range("d52").Value + Range("e52").Value
Range("d53").Value = Range("d53").Value + Range("e53").Value
End sub

以上代码的目的是当按下”入库”按钮后,D列数据与F列数据自动相加,当F列数据归0时,D列数据仍然为相加后的数据,不会因F列的改变而在次改变(除非在次按下”入库”按钮)

D48=1000
如果F48单元格<>0,则进行相加, D48=D48+F48,
如果F48=0,则不计算,相下查找即F49,F50,F51…….,当在次发现某个单元格<>0时,则相加
如F52=3,则计算D52=D52+F52,
Dim n As Integer
n=100
Private Sub Command9_Click()
For i = 1 To 100
If Cells(f, i) <> 0 Then
Cells(d, i) = Cells(d, i) + Cells(f, i)
End If
Next
End Sub
为什么在执行上面的代码时VB提示:缺少END SUB ?
展开
 我来答
xiaov701
2009-08-04 · 超过20用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:56.1万
展开全部
LZ给的代码给错了,你给的是出库......
dim n as integer
n=val(text1.text) *n 用来放excel表格的行数,因为不知道你有多少行,暂时用这个表示吧
Private Sub Command1_Click()
for i=1 to n
if cells(f,i)<>0 then
cells(d,i)=Cells(d, i)+cells(f,i)
end if
next
End Sub
imjohnzj
2009-08-03 · TA获得超过384个赞
知道小有建树答主
回答量:381
采纳率:100%
帮助的人:166万
展开全部
代码简单的。不过除了用代码以外,还有不用代码的方法啊。

Sub ThanksME
Application.ScreenUpdating = false

Range("D48").select
While Selection <> ""
if(Selection <> 0)Then
Selection = Selecton + Selection.offset(0,1)
end if
Selection.offset(1).select
Wend

Application.ScreenUpdating = true
End Sub

你试试在 E48 单元中输入:=IF(D48<>0,D48+E48,D48)
然后,再用自动填充功能就可以把值算出来了。

最后,把 E:E 复制下来,到 D:D 处“选择性粘贴”选值粘贴。不就OK了嘛。要VB干嘛。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CrazymenLu
2009-08-03 · TA获得超过1352个赞
知道小有建树答主
回答量:982
采纳率:0%
帮助的人:605万
展开全部
for R = 1 to 100
if cells(R ,6) <> 0 then cells(R ,4) + cells(R ,6)
next R
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式