Код |
---|
With CreateObject("Scripting.Dictionary")
For i = 1 To UBound(arr)
temp = Split(arr(i, 1), "Код: ")(1)
.Item(temp) = ""
Next
[a2].Resize(.Count) = Application.Transpose(.keys) |
Вывожу первый диапазон, который вытаскивает Сплитом из текстовой строки код.
arr2 = [a2].Resize(UBound(arr)).Value, - это диапазон который получился после Сплита.
Код |
---|
Set TempZak = Workbooks.Open("F:\QQQ\Файл.XLS")
kod = Range("N3:P" & Cells(Rows.Count, 14).End(xlUp).Row).Value
TempZak.Close |
Открываю другую книгу и делаю ссылку на диапазон Range("N3:P..") , т.к. именно в этом файле находится нужный мне код товара, который нужно переместить в исходный файл.
Код |
---|
For i = 1 To UBound(kod)
.Item(kod(i, 3)) = i
Next
ReDim c(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
If .exists(arr2(i, 1)) Then
ii = .Item(arr2(i, 1))
c(i, 1) = kod(ii, 1)
End If
Next
End With
Columns(1).NumberFormat = "@"
[a2].Resize(UBound(arr)) = c() |
Переместил благополучно. Но когда попробовал использовать этот метод с повторяющимися кодами, то потерпел фиаско.