Мне нужно сравнить два файла: новые данные и старые данные. Я помещаю новые данные в 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