没有做循环

时间:2015-04-13 07:17:32

标签: vba nested do-while

我试图创建一个do while嵌套循环,但它给了我错误

  

不做循环

为什么?

Sub Copia_e_completa()
'Identifico ultima riga che ha un valore
Dim UltimaCellaFoglio1
Dim UltimaCellaFoglio2
UltimaCellaFoglio1 = (Sheets("Foglio1").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row)
UltimaCellaFoglio2 = (Sheets("Foglio2").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row)
Dim I As Integer
Dim articolo1 As String
Dim cliente1 As String
Dim articolo2 As String
Dim cliente2 As String
I = 2
Do While I <= UltimaCellaFoglio1
MsgBox (I)
articolo1 = (Worksheets("Foglio1").Cells(I, 1).Value)
cliente1 = (Worksheets("Foglio1").Cells(I, 4).Value)
I = I + 1
    Dim J As Integer
    Do While J <= UltimaCellaFoglio2
     articolo2 = (Worksheets("Foglio2").Cells(J, 1).Value)
     cliente2 = (Worksheets("Foglio2").Cells(J, 2).Value)
     If (articolo1 = articolo2) And (cliente1 = cliente2) Then
     Worksheets("destinazione1").Range("A" & I, "M" & I).Value = Worksheets("Foglio1").Range("A" & I, "M" & I).Value
     Worksheets("destinazione1").Range("N" & I, "Y" & I).Value = Worksheets("Foglio2").Range("D" & J, "Y" & J).Value
     Else
      J = J + 1
    Loop
Loop

End Sub

1 个答案:

答案 0 :(得分:2)

您在行End If

之后错过了J = J + 1