Прокрутите столбец Excel и проверьте, соответствует ли каждое значение другому Excel - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть 2 файла Excel с именами Recon File и DataExt File.Оба файла имеют столбец с именем PNR.

Мне нужно проверить, совпадает ли каждое значение в столбце Pnr элемента Recon со столбцом Pnr объекта DataExt.Если совпадение найдено, проверьте, сколько совпадений есть.

Если найдено 0 совпадений, оставьте столбец H в поле Recon как пустое

Если найдено 1 совпадение, если найдено Скопируйте значения из ячеек D, E, Столбцы F и G, соответствующие сопоставленной ячейке Pnr и файлу восстановления в D, E, F и G.

Если найдено 2 совпадения, проверьте, соответствует ли первый и второй столбец с именем Sectorв Recon также совпадает со столбцом сектора в DataExt.Если он совпадает с Копировать значения, соответствующие этим столбцам, в противном случае Скопируйте значения в столбец Возврата.

Если найдено более 2 совпадений, заполните столбец «Разведка», если найдено более 2 совпадений.

Может кто-нибудь мне помочьс кодом VBA для макросов Excel.

1 Ответ

0 голосов
/ 20 февраля 2019

Добро пожаловать в StackOverflow.Ниже приводится хорошая отправная точка для того, что вы ищете.Пожалуйста, просмотрите и попробуйте изменить, чтобы получить, где вы хотите.

Option Explicit

    Sub Test()

        Dim wbR As Workbook, wbD As Workbook
        Dim wsR As Worksheet, wsD As Worksheet
        Dim LastrowR As Long, LastrowD As Long, i As Long, CountTimes As Long
        Dim PNR As String

        Set wbR = Workbooks("Recon.xlsm")
        Set wbD = Workbooks("DataExt.xlsx")

        Set wsR = wbR.Worksheets("Sheet1")
        Set wsD = wbD.Worksheets("Sheet1")

        'Let as assume that PNR column is column A, in Sheet 1, in both workbooks.
        'Also keep in mind that both workbooks should be open and have the following types (Recon -> .xlsm & DataExt ->  .xlsx)

        'Find the last row of PNR column in Recon File
        LastrowR = wsR.Cells(wsR.Rows.Count, "A").End(xlUp).Row
        'Find the last row of PNR column in DataExt File
        LastrowD = wsD.Cells(wsD.Rows.Count, "A").End(xlUp).Row
        'Loop PNR column in Recon File
        For i = 2 To LastrowR
            'Assign value to PNR
            PNR = wsR.Range("A" & i).Value
                'Count how many times PNR appears in column A DataExt file
                CountTimes = Application.WorksheetFunction.CountIf(wsD.Range("A2:A" & LastrowD), PNR)

                'If appears 1 time
                If CountTimes = 1 Then
                'If appears 2 times
                ElseIf CountTimes = 2 Then
                'If appears more than 2 times
                ElseIf CountTimes > 2 Then
                End If

        Next i

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