具有多个while条件的VBA
我需要一些帮助来修改代码,以便在列具有多个while条件的VBA,vba,Vba,我需要一些帮助来修改代码,以便在列J中有正确的值 为了更好地理解,我对列A到D中具有相同值的行进行了着色 在列J中,我希望得到如下正确值: -如果第6行=第7行则J6=2 -如果第8行=第9行=第10行则J8=3 -等等 我的代码不够好,因为我不想在列J Dim tw As Worksheet: Set tw = ThisWorkbook.Worksheets("stack") Dim row As Integer row = tw.Range("B" & Rows.Count).En
J
中有正确的值为了更好地理解,我对列
A到D中具有相同值的行进行了着色
在列J
中,我希望得到如下正确值:
-如果第6行=第7行
则J6=2
-如果第8行=第9行=第10行
则J8=3
-等等
我的代码不够好,因为我不想在列J
Dim tw As Worksheet: Set tw = ThisWorkbook.Worksheets("stack")
Dim row As Integer
row = tw.Range("B" & Rows.Count).End(xlUp).row
lin = 2
Do Until lin = row + 1
nr = 1
While (tw.Cells(lin, 1) = tw.Cells(lin + nr, 1) And tw.Cells(lin, 2) = tw.Cells(lin + nr, 2) And tw.Cells(lin, 3) = tw.Cells(lin + nr, 3) And tw.Cells(lin, 4) = tw.Cells(lin + nr, 4))
nr = nr + 1
Wend
If nr = 1 Then
Else
tw.Cells(lin, 10) = nr
End If
lin = lin + 1
Loop
我找到了解决方案:在tw.Cells(lin,10)=nr
之后,我把lin=lin+nr-1
放在行之间。或者干脆=COUNTIFS(A:A,A2,B:B,B2,C:C,C2,D:D,D2)@drgs绝对不是,你不明白这个问题,如果表格未排序怎么办?每次都是这样