Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 12:03   #1
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию Как лучше отслеживать текстбокс

Такой вопрос. Есть текстбокс, в нем уже забит текст, надо запускать определенный макрос если в текстбоксе изменили текст.

какое событие лучше использовать, Enter, Change, Exit? или можно это вообще по другому реализовать?

если можно с примером.

Последний раз редактировалось Eresiarh; 19.02.2010 в 12:10.
Eresiarh вне форума Ответить с цитированием
Старый 19.02.2010, 12:20   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

событие Change

Код:
Private Sub TextBox1_Change()
    MsgBox "текст изменился! новый текст: " & Me.TextBox1
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 19.02.2010, 12:22   #3
AChrist
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 31
По умолчанию

Цитата:
если в текстбоксе изменили текст.
Цитата:
использовать Change
Ответ уже есть в самом вопросе
AChrist вне форума Ответить с цитированием
Старый 19.02.2010, 12:30   #4
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

ну да, да только вот макрос не запускается.
Я делал так
Код:
Private Sub UserForm_Initialize()
Dim izemenentext1 As Boolean
end sub

Private Sub tb_Change()
izmenentext1 = True
End Sub

Private Sub CommandButton1_Click()
If izmenentext1 = True Then
macros1
end if
end sub

Последний раз редактировалось Eresiarh; 19.02.2010 в 12:35.
Eresiarh вне форума Ответить с цитированием
Старый 19.02.2010, 12:39   #5
AChrist
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 31
По умолчанию

Смотря что делает макрос...

Код:
Private Sub tb_Change()
macros1
End Sub
AChrist вне форума Ответить с цитированием
Старый 19.02.2010, 12:56   #6
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

В том то и дело, что если просто при нажатии на кнопку, то все работает. А если делать проверку то переменная оказывается пуста. И макрос нельзя засунуть в tb_change, так как боксов много(и на разных листах) и проверка делается именно для того чтобы макрос запускался для определенных листов после нажатия на кнопку.

А вот почему переменная пустая оказывается ума не приложу. Может быть я ее не там объявляю или не так. Может быть она должна быть типа глобал?
Eresiarh вне форума Ответить с цитированием
Старый 19.02.2010, 13:56   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

А знаете в чем проблема? В том, что при наступлении события CommandButton1 переменная izemenentext1 всегда имеет значение False. Т.к. Она объявлена у Вас не глобально, а в процедуре инициализации формы.
Код:
Public izemenentext1 As Boolean
Private Sub UserForm_Initialize()

end sub

Private Sub tb_Change()
izmenentext1 = True
End Sub

Private Sub CommandButton1_Click()
If izmenentext1 = True Then
macros1
end if
end sub
Вот так будет работать.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 19.02.2010, 16:24   #8
Eresiarh
Пользователь
 
Регистрация: 15.01.2010
Сообщений: 31
По умолчанию

Спасибо! Я как собака - понимаю как надо сделать и в чем проблема, но реализовать не могу)))
Eresiarh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу для интернет провайдеров, которая будет отслеживать соединение с пользователями. Rudi1989 Общие вопросы по Java, Java SE, Kotlin 6 01.04.2009 15:34
Отслеживать сообщения. Манжосов Денис :) Общие вопросы Delphi 1 06.01.2009 00:37
Как лучше организовать базу данных типо как в ICQ Руслантус БД в Delphi 3 09.08.2008 23:57
Как лучше объявить функцию? Иллидан Общие вопросы C/C++ 1 20.05.2008 14:31
Подскажите как лучше сделать Gendolff БД в Delphi 1 10.02.2007 08:47