Excel 为每个循环添加计数器

Excel 为每个循环添加计数器,excel,vba,for-loop,counter,Excel,Vba,For Loop,Counter,我不知道如何为每个循环在下面的中添加一个计数器,这样当一整列公式完成后,循环将移动到下一列。所有计算都正确进行,但都在同一列中。谢谢你的建议 Sub Test() Dim SrchRng1 As Range, cell1 As Range Dim SrchRng2 As Range, cell2 As Range Dim lr As Long lr = Sheets("sheet1").Cells(Rows.count, 2).End(xlUp).Row Set SrchRng1 = Shee

我不知道如何为每个循环在下面的
中添加一个计数器,这样当一整列公式完成后,循环将移动到下一列。所有计算都正确进行,但都在同一列中。谢谢你的建议

Sub Test()
Dim SrchRng1 As Range, cell1 As Range
Dim SrchRng2 As Range, cell2 As Range

Dim lr As Long
lr = Sheets("sheet1").Cells(Rows.count, 2).End(xlUp).Row
Set SrchRng1 = Sheets("sheet1").Range("B3:B95")

Dim lc As Long
lc = Sheets("sheet2").Cells(3, Columns.count).End(xlToLeft).Column
Set SrchRng2 = Sheets("sheet2").Range("A3:AC3")

Dim lrr As Long
lrr = Sheets("sheet2").Cells(Rows.count, 2).End(xlUp).Row

Dim c As Long
c = 0

For Each cell1 In SrchRng1
    For Each cell2 In SrchRng2

        If cell1.Value = cell2.Value Then
            c = 31
            For r = 4 To 100
                  Cells(r, c).FormulaR1C1 = "=sheet1!" & cell1.Offset(, 1).Address(ReferenceStyle:=xlR1C1) & "*" & cell2.Offset(1, 0).Address(ReferenceStyle:=xlR1C1) & ""
            Next r
            c = c + 1
        End If
    Next cell2
Next cell1
Application.DisplayAlerts = True
End Sub

每次都会将c重置为31。将c=31移出内部循环,移动到第一个for语句的正下方。像这样:

For Each cell1 In SrchRng1
    c = 31
    For Each cell2 In SrchRng2

        If cell1.Value = cell2.Value Then

             For r = 4 To 100
                  Cells(r, c).FormulaR1C1 = "=sheet1!" & cell1.Offset(, 1).Address(ReferenceStyle:=xlR1C1) & "*" & cell2.Offset(1, 0).Address(ReferenceStyle:=xlR1C1) & ""
            Next r
            c = c + 1
        End If
   Next cell2
Next cell1

谢谢我把它放在两个
循环之外,每个
循环都有效!我盯着这个宏看太久了。@user3290799很高兴我能帮上忙。