Страницы: 1
RSS
Макрос отбора несовпадений между двумя столбцами
 
Здравствуйте. Нужен макрос, который в результирующий столбец выносил бы значения, которые есть в первом столбце, но их не содержится во втором. Грубо говоря, разность значений столбцов.
У меня рабочий диапазон - 3500 ячеек в столбце. Ну т. е. чтобы в коде допускалось сравнение двух БОЛЬШИХ столбцов.
Именно макрос. Я видел решения через формулы массивов, и прочее, но, очевидно, для всех этот код был бы куда как более удобен удобен.
 
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=137779&a...
 
Иван Обломов, здравствуйте
Полное (расширенное) сравнение двух списков (столбцов)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Иван Обломов Для вашего файла примера
Код
Sub Senfdsg1()
  Dim vTp1, dic1, dic2, i&, XX
  vTp1 = ActiveSheet.UsedRange
  Set dic1 = CreateObject("Scripting.Dictionary")
  Set dic2 = CreateObject("Scripting.Dictionary")
  i = 2
  Do While Not IsEmpty(vTp1(i, 2))
XX = dic1(vTp1(i, 2)): i = i + 1: If i > UBound(vTp1) Then Exit Do
  Loop
  i = 2
  Do While Not IsEmpty(vTp1(i, 1))
If Not dic1.Exists(vTp1(i, 1)) Then XX = dic2(vTp1(i, 1))
i = i + 1: If i > UBound(vTp1) Then Exit Do
  Loop
If dic2.Count > 0 Then Range("C2").Resize(dic2.Count, 1) = WorksheetFunction.Transpose(dic2.Keys)
End Sub
Изменено: Евгений Смирнов - 15.04.2021 08:19:23
Страницы: 1
Наверх