Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет ввода букв в TextBox, Excel 
:(
    Опции темы
olga90
Дата 31.3.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 30.1.2007

Репутация: нет
Всего: нет



мне нужно, чтобы в TextBox вводились лишь ЦИФРЫ, точка и запятая
а буквы и остальные симаолы игнорировались

что писать в событии KeyPress компонента?

так вываливается ошибка  при вводе букв в поле

Код

Const AllowedChars As String = "0123456789"
...
Private Sub textbox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   If InStr(AllowedChars, Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

PM MAIL   Вверх
olga90
Дата 2.4.2008, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 30.1.2007

Репутация: нет
Всего: нет



????????
PM MAIL   Вверх
ИгнатьевАлексей
Дата 2.4.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: 2
Всего: 3



olga90,   функция Chr не хочет работать с кириллицей, вот и ошибки валятся.

Я бы сделал так
Код

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
     If Not (KeyAscii >= 48 And KeyAscii <= 57) Then KeyAscii = 0
End Sub

ну а точку и запятую, думаю,  добавишь сама
Удачи


Это сообщение отредактировал(а) ИгнатьевАлексей - 2.4.2008, 10:02


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
LOPUH
Дата 2.4.2008, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Растение
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 15.2.2008
Где: Красноярск

Репутация: 3
Всего: 4



Немножко добавлю..
В  подобных случаях я обычно юзаю метод InputBox. Он хорош тем ,что производится автоматическая проверка введенных данных.  В Вашем случае:
Код

Option Explicit

Sub Example()
Dim Val As Integer

Worksheets("Лист1").Activate
Val = Application.InputBox( _
    prompt:="Введите число", Type:=1)

End Sub


 тип 1 -это числовой тип.
Но для ввода ряда чисел наверно TextBox  удобнее..


Это сообщение отредактировал(а) LOPUH - 2.4.2008, 17:01
PM MAIL   Вверх
mihanik
Дата 4.4.2008, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



LOPUH, не факт, что olga90,  использует Excel.




--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
LOPUH
Дата 5.4.2008, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Растение
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 15.2.2008
Где: Красноярск

Репутация: 3
Всего: 4



Цитата(mihanik @  4.4.2008,  23:39 Найти цитируемый пост)
LOPUH, не факт, что olga90,  использует Excel.


mihanik, смотри название темы  smile  
Да , хочу спросить как у модератора, я на форуме недавно..  Стоит ли  добавлять  в тему свой вариант ответа, если ответ уже получен.. Сам я часто юзаю поиск и ищу в старых топиках, и если есть несколько альтернативных решений вопроса,  то ответ  будет более полным.. Извините за оффтоп..

Это сообщение отредактировал(а) LOPUH - 5.4.2008, 08:00
PM MAIL   Вверх
mihanik
Дата 5.4.2008, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Цитата(LOPUH @  5.4.2008,  07:51 Найти цитируемый пост)
mihanik, смотри название темы    


Принимаю замечание... Невнимателен был...

Цитата(LOPUH @  5.4.2008,  07:51 Найти цитируемый пост)
Стоит ли  добавлять  в тему свой вариант ответа, если ответ уже получен.. 


Если считаешь, что твой вариант стоит этого, то добавляй.
Но слишком уж старые топики не поднимай.
Смешно отвечать на годовалые вопросы.

А теперь ждём ответа olga90.



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
vovaking
  Дата 4.1.2009, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 2.10.2008

Репутация: нет
Всего: нет



Помогиет мне пожалуйста разобраться с этой функцией.
Мне необходимо что бы:
Эта процедура позволяюет организовать ввод начальных данных для выполнения расчета. Эта процедура будут необходима для контроля вводимых значений. В поле txta сохраняется только символы с кодами 0, 8, 44, 45, 48 To 57, 101, что соответствует цифрам от 0 до 9, символам «-», «,», команде Backspace и букве e. Все другие введенные символы аннулируются и в текстовом поле не отображаются.
Private sub txta_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Данные будут будут сохранены, если нажата клавиша Enter. 
 
Код

Private Sub txta_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    On Error GoTo L
    Lbl.ForeColor = RGB(0, 0, 0)
    LblСообщ.Caption = _
    "Закончив ввод, нажмите клавишу Enter!"
    LblСообщ.Visible = True
    Txta.ForeColor = RGB(0, 0, 0)
    Select Case KeyAscii
        Case 0, 8, 44, 45, 48 To 57, 101
    Case Else
    KeyAscii = 0
    End Select
    Exit Sub
    LblСообщ.ForeColor = RGB(255, 0, 0)
    LblСообщ.Caption = _
    "Это не число! Исправьте!"
L:   LblСообщ.Visible = True
    Txta.ForeColor = RGB(255, 0, 0)
End Sub


Помогите пожалуйста
PM MAIL   Вверх
mihanik
Дата 6.1.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



vovaking!!!
 smile 
Модератор: Пожалуйста, один топик - один вопрос.


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0688 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.