Найти все совпадения в книге, используя Excel VBA

Я пытаюсь написатьVBA подпрограмма, которая будет принимать строку, искать заданную книгу Excel и возвращать мне все возможные совпадения.

В настоящее время у меня есть реализация, которая работает, но это очень медленно, так как это двойной цикл for. Конечно встроенный в ExcelFind функция "оптимизировано» чтобы найти одно совпадение, но я бы хотел, чтобы он возвращал массив исходных совпадений, к которым я мог бы затем применить дополнительные методы.

Я выложу некоторый псевдокод того, что у меня уже есть

For all sheets in workbook
    For all used rows in worksheet
        If cell matches search string
            do some stuff
        end
    end
end

Как уже говорилось ранее, этот двойной цикл for заставляет вещи работать очень медленно, поэтому я надеюсь избавиться от этого, если это возможно. Какие-либо предложения?

ОБНОВИТЬ

Хотя приведенные ниже ответы могли бы улучшить мой метод, в итоге я пошел по-другому, поскольку мне нужно было повторять несколько запросов снова и снова.

Вместо этого я решил перебрать все строки в моем документе и создать словарь, содержащий ключ для каждой уникальной строки. Значение, на которое оно указывает, будет тогда списком возможных совпадений, поэтому, когда я сделаю запрос позже, я просто смогу проверить, существует ли он, и если да, просто получить быстрый список совпадений.

По сути, просто выполнить одну начальную проверку, чтобы сохранить все в управляемой структуре, а затем запросить эту структуру, которую можно выполнить вO(1) время

Ответы на вопрос(7)

Ваш ответ на вопрос