Сравнение ячеек и вставка - VBA
Формулировка задачи:
Доброго дня!
Просьба помочь.
Нужен макрос.
Есть два листа exel необходимо чтобы все ячейки столбца А,Листа2(всего их 370) сравнивались со всеми ячейками листа1 и если сравнение истинно, то значение Аn Листа1 (n - номер ячейки в котором нашлось искомое значение), вставлялось в ячейку Bm листа2 (m номер ячейки которую сравниваем). Все значения ячеек строковые. В листе1 может быть несколько значений столбца А листа2, соотвественно копировать надо несколько ячеек Аn Листа1.
Вроде понятно описал)
Буду очень благодарен за помощь.
Решение задачи: «Сравнение ячеек и вставка»
textual
Листинг программы
Sub Sootvet_A() Dim i&, j&, b(), sh As Worksheet With CreateObject("Scripting.Dictionary") a = Sheets("Лист1").UsedRange For i = 1 To UBound(a) For j = 2 To UBound(a, 2) If Not IsEmpty(a(i, j)) Then If .exists(a(i, j)) Then .Item(a(i, j)) = .Item(a(i, j)) & ";" & a(i, 1) Else .Item(a(i, j)) = a(i, 1) End If End If Next Next For Each sh In Sheets If sh.Name <> "Лист1" Then a = sh.UsedRange ReDim b(1 To UBound(a), 1 To 1) For i = 1 To UBound(a) If .exists(a(i, 1)) Then b(i, 1) = .Item(a(i, 1)) Next sh.Cells(1, 2).Resize(UBound(b), 1) = b End If Next End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д