Вставить строки с одного листа на другой, когда условие выполняется в VBA - PullRequest
0 голосов
/ 15 января 2019

У меня есть макрос со всеми задачами, которые я должен выполнить для создания отчета, в настоящее время мне нужно объединить новые данные из нового листа в исходный. Что-то вроде JOIN, если бы мы могли так это назвать.

В srcWorkbook у нас есть такие вещи, как адрес, кто отвечал за это время и метка времени date / id. В outWorkbook есть личные данные продавца и тому подобное.

Таблица вывода / Новая таблица данных / Таблица вывода (после запуска макроса)

Чтобы объединить оба листа, я хочу сопоставить id_date и id_hr в обоих файлах, так что если srcWorkbook и outWorkbook id совпадают, возьмите строку srcWorkbook и вставьте ее на стороне outWorkbook .

Я пытался сделать оператор for / if, который явно читает, но он не вставляет новые строки. Я также попробовал VLOOKUP, но я предпочел бы придерживаться базовых утверждений для будущих модификаций.

Sub popularSubG()
'File calling here and index variables
'Cells
' cell Src
Dim cellSrcPerPro As Long
Dim cellSrcIDHR As Long

' cell Out
Dim cellOutPerPro As Long
Dim cellOutIDHR As Long

For indexRowSrc = 2 To indexLastRowSrc
    cellSrcPerPro = srcWorkbook.Cells(indexRowSrc, "A").Value
    cellSrcIDHR = srcWorkbook.Cells(indexRowSrc, "B").Value

    cellOutPerPro = outWorkbook.Cells(indexRowSrc, "A").Value
    cellOutIDHR = outWorkbook.Cells(indexRowSrc, "B").Value

    If cellSrcPerPro = cellOutPerPro & cellSrcIDHR = cellDestinoIDHR Then
        indexRowOut = indexRowOut + 1
        srcWorkbook.Sheets(1).Cells(2, "C").EntireRow.Copy Destination:=outWorkbook.Sheets(1).Range("O" & Rows.Count).End(xlUp).Offset(0)
    End If
Next indexRowSrc
MsgBox "Sub ended"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...