Оптимизировать код - VBA (250579)

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

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

Добрый день всем. Очень нужна помощь, не смог найти на форуме подсказок. Есть макрос для поиска значений. Цель макроса найти строки с одиноковой площадкой. И если хотя бы в одной строке есть "ETH" в столбце F то записать во всех строках этой площадки, в яйчейке J "да". Если не находит то записать "нет". Все бы ничего но список строк очень большой и эксель в итоге виснет. Если кто может, помогите разобраться. Спасибо всем. Вот собственно сам макрос:

Решение задачи: «Оптимизировать код»

textual
Листинг программы
Sub Searching1()
    Dim a, i&
    a = ActiveSheet.UsedRange
    b = ActiveSheet.UsedRange.Columns(10)
    With CreateObject("Scripting.Dictionary")
        For i = 2 To UBound(a)
            If InStr(1, a(i, 6), "ETH") <> 0 Then .Item(a(i, 2)) = 1
        Next i
        For i = 2 To UBound(a)
            b(i, 1) = IIf(.exists(a(i, 2)), "Yes", "No")
        Next i
    End With
    Cells(1, 10).Resize(UBound(b)) = b
End Sub

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


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

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

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