如果不使用variables?

我需要循环20行,并添加一个方程,以不同的variables工作表。 我正在使用If …. Else If语句,我想我需要声明variables,因为我只填充第二行数据。

我的代码:

Do While counter < 20 counter = counter + 1 If CNum = 269 And SCode = 7168 Then NTotal = ("=(C2*35)/1000") Range("E2").Value = NTotal ElseIf CNum = 269 And SCode = 7181 Then NTotal = ("=(C2*2.5)/1000") Range("E2").Value = NTotal ElseIf CNum = 269 And SCode = 7183 Then NTotal = ("=(2*(D2-C2))/1000+50") Range("E2").Value = NTotal End If Loop 

我是否仅仅为C2,D2和E2声明一个范围值来使这个工作?

它正在工作,但有两件事情:

首先,因为CNum和scode在循环中没有改变,所以它们总是具有相同的值,所以每次迭代只能满足第一个匹配条件

其次,如果你想增加行数,那么你需要包含'counter'来增加'range'语句的rows元素。 一个例子可能如下:

 Do While counter < 20 counter = counter + 1 If CNum = 269 And scode = 7168 Then NTotal = ("=(C2*35)/1000") Cells(counter + 1, 5).Value = NTotal ElseIf CNum = 269 And scode = 7181 Then NTotal = ("=(C2*2.5)/1000") Cells(counter + 1, 5).Value = NTotal ElseIf CNum = 269 And scode = 7183 Then NTotal = ("=(2*(D2-C2))/1000+50") Cells(counter + 1, 5).Value = NTotal End If Loop 

编辑

你也可以看看这个