Добрый день! Вчера поднимал вопрос по поиску в коллекции.
Спасибо большое форумчанам подсказали функцию.
Протестил на маленьком объеме все норм.
Но когда начинаю заполнять книгу в ней 3 тысячи строк и 75 столбцов, комбинацию по которым надо найти,
макрос уходить в оооооочень долго его считать
Вот код функции поиска в коллекции
Вот код макроса который очень долго отрабатывает
Возможно ли как-то оптимизировать код? Конечно есть возможность запустить в ночь, но хочу развиваться в VBA и думаю есть у кого-то решение
Спасибо большое форумчанам подсказали функцию.
Протестил на маленьком объеме все норм.
Но когда начинаю заполнять книгу в ней 3 тысячи строк и 75 столбцов, комбинацию по которым надо найти,
макрос уходить в оооооочень долго его считать
Вот код функции поиска в коллекции
Код |
---|
Function CollectionContains(myCol As Collection, checkVal As Variant) As Boolean On Error Resume Next CollectionContains = False Dim it As Variant For Each it In myCol If it = checkVal Then CollectionContains = True Exit Function End If Next End Function |
Код |
---|
n = Sheet.Cells.SpecialCells(xlLastCell).Row максимальное значение n 3000 For y = 52 To 126 For x = 5 To n If CollectionContains(coll_TS, Sheet.Cells(3, y) & Sheet.Cells(x, 7)) Then 'Проверка ключа в коллекции Sheet.Cells(x, y) = "1" Else Sheet.Cells(x, y) = "" End If Next |