![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 63
|
![]()
Всем доброго времени суток. У меня был код который я писал когда то под visual basic 5. Я перенес его в VBA (exel 2010) немного видоизменил, но он не работает. Суть кода в том что если txt1 пуст или диапазон значений выходит за пределы 670 и 780 мм, выдается сообщение об ошибке. как его исправить не знаю. Заранее спасибо.
вот и код,вложение ниже: Private Sub Txt1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) txt1.MaxLength = 4 Select Case KeyAscii Case 48 To 57 Case 13 txt1_Validation False Case Else KeyAscii = 0 End Select End Sub Private Sub txt1_Validation(Cancel As Boolean) Select Case txt1.Value Case 670 To 780 txt2.SetFocus Case 0 To 669 Case 781 To 9999 Case Else: Cancel = True End Select If Trim(txt1.Text) = "" Then txt1.SetFocus Dim Answer Dim Message Dim ButtonsAndIcon Dim Title Message = "Введите значение давления!" ButtonsAndIcon = vbInformation Title = "Ошибка!" Answer = MsgBox(Message, ButtonsAndIcon, Title) ElseIf (CLng(txt1.Text) < 670) Or (CLng(txt1.Text) > 780) Then txt1.SetFocus Dim Answer1 Dim Message1 Dim ButtonsAndIcon1 Dim Title1 Message1 = "Диапазон давления от 670 до 780 мм.рт.ст.!" ButtonsAndIcon1 = vbInformation Title1 = "Ошибка!" Answer1 = MsgBox(Message1, ButtonsAndIcon1, Title1) Cancel = True End If Exit Sub End Sub |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
А событие txt1_Validation Вы сами выдумали?
![]()
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 63
|
![]()
нет я его не придумывал. В VB 5.0 было что то подобное там событие называлось validate вроде. при использовании процедуры exit возникает ошибка компиляции. название процедуры не соответствует описанию, кстати, если из кода удалить строку case 13 немного оживает код, но работает глупо.
Последний раз редактировалось konstantin1990; 18.08.2013 в 13:27. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Ошибки нет
Код:
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 63
|
![]()
Да теперь все работает, для ограничения диапазона немного доделал теперь буду использовать как шаблон:
Код:
Последний раз редактировалось konstantin1990; 18.08.2013 в 16:05. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 63
|
![]()
а нет другой процедуры помимо txt1_exit? При закрытии формы возникает сообщение введите давление. Здесь вариант с exit не подходит. файл ниже
Последний раз редактировалось konstantin1990; 18.08.2013 в 17:53. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Вы можете посмотреть сами какие есть события у текстбокса раскрыв вып. список в редакторе. Выбирайте, что Вам больше подойдет.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 63
|
![]()
а есть возможность сделать ограничение по вводу диапазона через процедуру change?
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Делайте, кто не дает. Только change будет возникать после введения каждого символа. Оно Вам надо? Проще сделать проверку по нажатии кнопки выход(или что там у Вас) и не морочить себе голову.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 20.07.2013
Сообщений: 63
|
![]()
Пожалуй вы правы. Сделал на comandbutton, единственная проблема не работает установка фокуса. не знаю почему вроде пишу
Код:
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Внести данные из Textbox Form2 в TextBox Form1 | uralshans | Microsoft Office Excel | 1 | 07.01.2013 17:15 |
Не работает код | ctpz | PHP | 11 | 20.09.2012 14:03 |
Не работает код | Sylar9 | Общие вопросы C/C++ | 1 | 03.04.2012 19:32 |
Код не работает в IE | asdasdasdasd | HTML и CSS | 5 | 24.08.2010 19:36 |
Не работает код... | prizrak1390 | Общие вопросы Delphi | 3 | 22.10.2008 14:59 |