это может быть невозможно решить в VBA, но я хотел бы увидеть, что вы, эксперты, должны сказать по этому поводу.
У меня есть текстовое поле в пользовательской форме, которое вызывает макрос в TextBox1_Change ()type sub.
Если пользователь вводит «ABC» в текстовое поле, макрос запускается 3 раза: один раз для «A», один раз для «AB» и один раз для «ABC».Этот макрос на самом деле довольно тяжелый, поэтому я хотел бы, чтобы он запускался только тогда, когда пользователь фактически закончил печатать, а не между отдельными нажатиями клавиш.
Я знаю, что могу заставить пользователя «нажать ввод» или что-то ещеи только потом запускаю макрос, но это не то, что я ищу.Я хочу, чтобы он печатал свободно и видел, как результаты его набора отображаются динамически, без какого-либо другого типа взаимодействия.
Итак, у меня возникла идея заставить событие изменения ждать и посмотреть, не произойдет ли другое изменение.событие запускается, скажем, через 1 секунду после первого.Если это произойдет, первое событие изменения прерывается.
Теперь это будет работать, и я думаю, что я знаю, как его кодировать, за исключением того, что я не знаю, как дать пользователю возможность продолжать печатать дажекогда запускается первое событие изменения.
Я имею в виду, что когда запускается первый макрос, он «замораживает» все.Ожидание, чтобы увидеть, не будут ли работать другие триггеры событий изменения, так как ничего не сработает, пока не завершится выполнение первого макроса.
Ребята, вы видите мою проблему здесь?Как бы вы пошли об этом?Есть ли шанс, что я смогу достичь желаемых результатов?
Любая помощь очень ценится, спасибо, ребята!