Как проверить значения в 4 столбцах одновременно на двух разных книгах? - PullRequest
0 голосов
/ 19 июня 2019

Как проверить данные из книги A и сравнить их с книгой B?

Столбцы в рабочей книге A, которые необходимо проверить, - это AA и AE по отношению к столбцам D и E. рабочей книги B.

Мне нужно проверить, имеют ли они те же данные, а затем скопировать другие значения из других строк в новую рабочую книгу. Мне нужна помощь с логикой и циклом, как проверять эти 4 столбца одновременно.

         Set input1= Workbooks("workbookA") 

         Set input2= Workbooks("workbookB") 

            LastRowAA = .Cells(.Rows.Count, "AA").End(xlUp).Row 
            LastRowAE = .Cells(.Rows.Count, "AE").End(xlUp).Row 
            LastRowD = .Cells(.Rows.Count, "D").End(xlUp).Row 
            LastRowE = .Cells(.Rows.Count, "E").End(xlUp).Row 

               For i = 1 To LastRowAA 
                   If input1.Sheets("Sheet1").Range("AA" & i) == input2.Sheets("Sheet1").Range("D" & i ) Then
                   If input1.Sheets("Sheet1").Range("AE & i ) == input2.Sheets("Sheet1").Range("E" & i ) Then

               blnAllMatch = False
               Exit For        

               else 
With input1
 LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
       For Each C In .Range("F3:F" & LastRow)
          wsOutput.Cells(C.Row, "I").Value = C & "" & "   " & C.Offset(0, 1)
       Next C


        LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
        For Each D In .Range("E3:E" & LastRow)
            wsOutput.Cells(D.Row, "H").Value = D & ""

        Next D

        LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
        For Each A In .Range("G3:E" & LastRow)
            wsOutput.Cells(A.Row, "G").Value = "01"
        Next A

       LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
           For Each V In .Range("D3:D" & LastRow)
            wsOutput.Cells(V.Row, "E").Value = V & ""
        Next V

         LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
           For Each z In .Range("A3:A" & LastRow)
            wsOutput.Cells(z.Row, "D").Value = z & ""
End With

With input2
LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
          For Each y In .Range("D3:D" & LastRow)
          wsOutput.Cells(y.Row, "C").Value = y & Null
        Next y
    End With


     With Ws2
     LastRow = .Cells(.Rows.Count, "E").End(xlUp).Row
           For Each m In .Range("B3:B" & LastRow)
            wsOutput.Cells(m.Row, "B").Value = m & Null
        Next m

    End With

    With Ws2
    LastRow = .Cells(.Rows.Count, "F").End(xlUp).Row
          For Each B In .Range("F3:F" & LastRow)
           wsOutput.Cells(B.Row, "F").Value = Left(Workbooks("workbookb.xls").Worksheets("Sheet1").Cells(B.Row, "G").Value, 1)

        Next B
End With
End IF

Спасибо,

Адриан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...