| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > подскажите - преобразование текста в форме |
| Автор: abyrval 16.1.2008, 18:01 |
| подскажите как сделать в форме vba ms excel : есть textbox куда надо ввести номер заявки (например 01234F или 00001F) есть ли возможность и/или как это реализовать - ввести просто "1234", которое автоматически переведется в "01234F", проблема в том что количество вводимых символов может быть разное, т.е. нужно просчитать кол-во введенных символов и добавить соответственно недостающие части. к сожалению в хелпах и фк таких разделов нет, а штудировать учебники.... заранее спасибо |
| Автор: bilya 17.1.2008, 03:46 | ||
| Да все делается. Общий принцип такой:
|
| Автор: bilya 17.1.2008, 08:29 | ||
А это работает в одном текстбоксе при наборе номера
|
| Автор: Akina 17.1.2008, 08:33 |
Это как раз весьма частный принцип. Общий - это форматирование по маске. |
| Автор: bilya 17.1.2008, 11:27 |
| По маске в Ехселе... |
| Автор: Akina 17.1.2008, 11:42 |
| bilya, я о функции Format и аналогичных |
| Автор: abyrval 17.1.2008, 12:59 | ||||||
спасибо огромное, за принцип и за реализацию, на РЕП не хватает постов к сожалению) может тогда еще подскажешь есть комбо бокс в форме:
работает отлично, при вводе буквы, предлагает допустимые варианты а если я вызываю вторую форму из первой
В вызываемой форме такие же комбобоксы (тем же кодом оформленные), но при вводе буквы допустимые варианты не предлагаются, в чем загвоздка? вроде же все тоже самое... Добавлено через 10 минут и 6 секунд bilya, bilya, про маску знаю к сожалению форму делаю не только для заявок, поэтому изменять ее в экселе по маске (отдельно от всего) не очень интересно(( |
| Автор: bilya 17.1.2008, 15:28 | ||||
Akina, ваша правда, подкачала формулировка...
abyrval, если правильно понял, вам нужно у комбобоксов установить свойство MatchEntry = fmMatchEntryFirstLetter. Можно в коде, при инициализации формы
|
| Автор: abyrval 17.1.2008, 15:42 |
дак вот меня и смущает что у меня стоит и в первой и во второй форме MatchEntry = 0 -....... мистика. епреустановить чего-нбд чтоль |
| Автор: abyrval 17.1.2008, 16:00 |
| вот даже принт снял - две картинки: 1. настройки 2. результат |
| Автор: bilya 17.1.2008, 17:04 |
| Попытался смоделировать вашу ситуацию (с _Change, .SetFocus на всякий случай) - у меня работает что с нулем, что с единицей А не пробовали все таки на UserForm_Initialize прописать эти свойства? |
| Автор: abyrval 17.1.2008, 17:19 | ||
прописал где только можно, и в UserForm_Initialize, и даже потом в Private Sub ComboBox1_Enter() запихнул... самое интересное другое - если я запускаю только форму выбора точек (UserForm3) напрямую, то подстановка работает, если вызываю ее "0" из userform1, то нет... клиника |