Vba 将If语句嵌套到双循环中

Vba 将If语句嵌套到双循环中,vba,excel,loops,Vba,Excel,Loops,我在对一个函数进行双循环时遇到了问题,该函数会改变行的格式 我知道我可以用范围脚本的条件格式来实现这一点,但随着我越来越多地学习使用VBA,我想尝试使用双循环会更好 我没能走得更远 Sub AlternateRowColor2() Dim lastRow As Long lastRow = Range("A1").End(xlDown).Row For Each Cell In Range("A1:A" & lastRow) If Cell.Row Mod 2 = 1 Th

我在对一个函数进行双循环时遇到了问题,该函数会改变行的格式

我知道我可以用范围脚本的条件格式来实现这一点,但随着我越来越多地学习使用VBA,我想尝试使用双循环会更好

我没能走得更远

Sub AlternateRowColor2()
Dim lastRow As Long

lastRow = Range("A1").End(xlDown).Row

For Each Cell In Range("A1:A" & lastRow) 
    If Cell.Row Mod 2 = 1 Then 
        Cell.Interior.ColorIndex = 43 
    remove
    End If
Next Cell

End Sub
我可以开始定义循环,但在下一步使用的
函数中迷失了方向

Sub AlternateRowColors()
Dim I As Integer
Dim P As Integer
Dim lastRow As Long

For I = 1 To 2
For P = 1 To 1
lastRow = Range(P).End(xlDown).Row
For Each Column In Range(I, lastRow)

我想这可能就是你要找的。您需要显式地增加for循环。但你的问题有点不清楚

Sub AlternateRowColors()
    Dim I As Integer
    Dim P As Integer
    Dim lastRow As Long

    For I = 1 To 2
        For P = 1 To 1
            lastRow = Range(P).End(xlDown).Row
            For Each Column In Range(I, lastRow)
        Next P
    Next I

我还可以使用For-each代码吗?@AsimAhmed否。因为您没有使用For-each循环。您需要使用嵌套for循环中的索引来获得特定范围。