具有多个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绝对不是,你不明白这个问题,如果表格未排序怎么办?每次都是这样