Страница: 1 |
Вопрос: Ввод данных через InputBox | Добавлено: 05.05.07 14:15 |
Автор вопроса: ![]() |
Мне нужно записать данные в заголовки строк и столбцов таблицы через InputBox. Мне нужно осуществить проверу на запрет ввода пустых строк и столбцов. И нужно чтобы при нажатие на кнопку Cancel все диалоговые окна закрывались. Помогите пожалуйста! начало программы я написал. Но при нажатие на кнопу Cancel он почемуто вводит сообщение "Поля должны быть заполнены!" Более подробно объясню по аське 468653528!!
Private Sub Dannie() Dim God As Integer Dim brigada As String Dim i As Integer 'Перебираем значения i от 1 до 7 For i = 1 To 7 'Считываем данные, которые ввел пользователь brigada = InputBox("Бригада " + Str(i)) 'Проверяем пустую строку If (brigada = "") Then 'Выводим сообщение об ошибке MsgBox "Поля должны быть заполнены!" Else 'Заполняем названия бригад Cells(i + 6, 1) = brigada End If Next i 'Перебираем значения i от 1 до 3 For i = 1 To 3 'Считываем данные, которые ввел пользователь God = InputBox("Год " + Str(i)) 'Проверяем пустую строку If (God = "") Then 'Выводим сообщение об ошибке MsgBox "Поля должны быть заполнены!" Else 'Заполняем таблицу "урожай" и "закупочные цены" Cells(6, i + 1) = God Cells(6, i + 4) = God End If Next i End Sub |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ICQ: 445091742 Вопросов: 4 Ответов: 169 |
Профиль | Цитата | #1 | Добавлено: 05.05.07 15:18 |
InputBox при нажатии Отмена возвращает пустую строку (""![]() ![]() На твоем месте я создал бы отдельную форми(две кнопки и текстбокс) для ввода данных, чтото вроде InputBox. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #2 | Добавлено: 05.05.07 15:42 |
InputBox при нажатии Отмена возвращает пустую строку (""
![]() ![]() Ну если не знать, в чём отличие vbNullString от "", то это конечно проблема... А если знать, то легко определить, нажали отмену или ввели пустую строку. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ICQ: 445091742 Вопросов: 4 Ответов: 169 |
Профиль | Цитата | #3 | Добавлено: 05.05.07 15:56 |
4 GSerg
Получается когда ввожу пустую строку то InputBox = vbNullString ? |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #4 | Добавлено: 05.05.07 16:28 |
Наоборот.
Только оператор сравнения на равенство тебе не поможет, потому что с точки зрения оператора сравнения, "" = vbNullString. А между тем всё очень просто, if strptr(inputbox())=0, значит нажали отмену. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #5 | Добавлено: 06.05.07 01:08 |
можно исчо через StrPtr
Dim str As String
str = InputBox("lalala" ![]() If StrPtr(str) = 0 Then MsgBox "Отмена" Else MsgBox "OK" End If |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #6 | Добавлено: 06.05.07 03:45 |
ой прастите, до конца последний пост GSerg'a я так и не дочитал )) |
Страница: 1 |
|