Как я могу привести более одного столбца в этом поиске? - PullRequest
0 голосов
/ 20 марта 2020

Мне нужно сравнить два файла: новые данные и старые данные. Я помещаю новые данные в ws, а затем выполняю поиск данных из старого файла, чтобы указать, что он уже существует. В настоящее время мои значения поиска существуют в 4 последовательных столбцах: H: K. прямо сейчас я могу получить только значения поиска из столбца H моего исходного листа. Как я могу добавить еще один l oop к go через три других столбца?

РЕДАКТИРОВАТЬ: еще один способ скажем так: я хочу Then .add Cl.Value, Cl.Offset(,1).Resize(,7:10), но я знаю, что на самом деле я не могу так его кодировать. Каждый раз, когда я добавляю значение ячейки в столбце A, я также хочу, чтобы он сохранял столбцы H, I, J, K в этой строке, но теперь он делает только столбец H.

code:

Dim Cl As Range
Dim Wbk As Workbook
Dim extWS As Worksheet, tgtWS As Worksheet

Set tgtWS = ThisWorkbook.Sheets("Longer Than 9 Months")
Set Wbk = workbooks("external.xlsx")
Set extWS = Wbk.Sheets("Longer Than 9 Months")

With CreateObject("Scripting.dictionary")
    For Each Cl In extWS.Range("A2", extWS.Range("A" & Rows.Count).End(xlUp))
        If Not .Exists(Cl.Value) Then .Add Cl.Value, Cl.Offset(, 1).Resize(, 7)
    Next Cl
    For Each Cl In tgtWS.Range("A2", tgtWS.Range("A" & Rows.Count).End(xlUp))
        If .Exists(Cl.Value) Then Cl.Offset(, 1).Resize(, 7).Value = .Item(Cl.Value).Value
    Next Cl
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...