目前我正在以repittative方式编写代码,但我现在想如何在多个范围内使用循环来实现相同的结果。
如果我在For Each中放入两个范围,我会收到错误。
Sub test_Click()
If (Range("C3").Value <> Range("C6").Value) Then
Range("B3").Value = 5
End If
If (Range("D3").Value <> Range("D6").Value) Then
Range("C3").Value = 5
End If
If (Range("E3").Value <> Range("E6").Value) Then
Range("D3").Value = 5
End If
End Sub
答案 0 :(得分:3)
您没有理由在For Each
声明中收到错误。 (但是,再一次,我不明白你的意思&#34;如果我把两个范围放入For Each&#34;。)
Sub test_Click()
Dim cel As Range
For Each cel in Range("C3:E3").Cells
If cel.Value <> cel.Offset(3, 0).Value Then
cel.Offset(0, -1).Value = 5
End If
Next
End Sub
答案 1 :(得分:1)
可以使用for循环
中的offset命令完成For i = 0 To 3
If (Range("C3").Offset(0, i).Value <> Range("C6").Offset(0, i).Value) Then
Range("B3").Offset(0, i).Value = 5
End If
Next