Запуск макроса VBA при клике(установке курсора) по текстбоксу(TextBox).
Часто возникает необходимость активации (запуска) макроса VBA Excel при нажатии на поле текстбокса (установке в него курсора).
Рассмотрим написание данного кода VBA на примере формы UserForm1 имеющей поле TextBox1.
В поле TextBox1 по умолчанию содержатся данные . Например цифры 123. Необходимо сделать так, чтобы при установке курсора в поле текстбокса данные стирались и не мешали вводу новой информации.
Рассмотрим пример написания такого кода:
Если просто записать макрос через TextBox1_Change(), то ничего не выйдет, ведь макрос будет запускаться только при изменении ячейки. Поэтому следует записать макрос через действие TextBox1_MouseDown — срабатывание макроса при клике мышкой. У такой записи есть одна хитрость: если Вы не хотите, чтобы макрос запускался при любом клике мыши, следует определить переменные через процедуру ByVal.
Пример кода макроса VBA «обнуляющего» (вернее опустошающего) ТекстБокс далее:
- Private Sub TextBox1_MouseDown (ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
- Value = «»
- End Sub