Удалить один список из другого - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день! На форуме нашел подобную тему, но у меня почему то не работает ни один из предложенных макросов - выдает ошибки. Скачивал их файлы и подставлял свои данные - все равно не получилось справиться. Задача у меня следующая: Есть список цифр 1 (Лист1), который нужен для работы, и есть список цифр 2 (Лист2), которые не должны встречаться в списке 1. Как правильно записать макрос, который удалит цифры второго списка из первого? Excel 2010. Пример файла прикрепляю. Спасибо за помощь.

Решение задачи: «Удалить один список из другого»

textual
Листинг программы
Sub gh()
  Dim Arr, tel, iCur&, iRes&, Dic As Object
    Set Dic = CreateObject("scripting.dictionary")
    With Worksheets("Лист2")
        For Each tel In Range(.[a2], .[a2].End(xlDown)).Value
            Dic(tel) = 0
        Next
    End With
    With Worksheets("Лист1")
        With .Range(.[a2], .[a2].End(xlDown))
            Arr = .Value
            .Clear
        End With
        iRes = 0
        For iCur = 1 To UBound(Arr)
            If Not Dic.exists(Arr(iCur, 1)) Then
                iRes = iRes + 1
                Arr(iRes, 1) = Arr(iCur, 1)
            End If
        Next
        .[a2].Resize(iRes).Value = Arr
    End With
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 5 из 5
Похожие ответы