将范围变量用于所有选定的行

时间:2015-02-14 19:58:19

标签: excel vba if-statement range

下面是工作VB,但我想设置变量D5:D222,F5:F222和I5:I222并在G5中查看结果:G222。

下面是单行,但我需要它来运行所有选定的行。我尝试了所有但我不知道如何设置它。

Dim score As Integer, result As String

D5 = Range("D5").Value
F5 = Range("F5").Value
I5 = Range("I5").Value

If D5 = 1 And F5 = 1 Then 
  result = "=I5*0.67" 
End If

If D5 = 1 And F5 = 0 Then 
  result = "=I5" 
End If

If D5 = 0 Then 
  result = "0" 
End If

Range("G5").Value = result

1 个答案:

答案 0 :(得分:0)

如果公式的解决方案没问题,您可以输入G5:

=D5*I5*(1-0.33*F5)

并将其填入第222行

如果您希望VBA代码计算该值,您可以使用:

Dim i as Integer
For i = 5 to 222
   Range("G" & i).Value = _
   (Range("I" & i).Value*(1-0.33)*Range("F" & i).Value)*Range("D" & i).Value
Next i

如果您希望VBA代码自动填充每个单元格中的公式:

Range("G5:G222").FormulaR1C1 = "=RC[-3]*RC[2]*(1-0.33*RC[-1])"