VBA Excel迭代多个范围

目前我正在编写代码,但我想现在如何使用多个范围的循环来实现相同的结果。

如果我在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 

没有任何理由让你在For Each语句中出现错误。 (但是,再次,我不明白你是什么意思,“如果我把两个范围在For Each”)。

 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 

可以用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