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很高兴我能帮上忙。