Страница: 1 |
Страница: 1 |
Вопрос: Ввод данных через InputBox
Добавлено: 05.05.07 14:15
Автор вопроса: agent
Мне нужно записать данные в заголовки строк и столбцов таблицы через 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
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #1
Добавлено: 05.05.07 15:18
InputBox при нажатии Отмена возвращает пустую строку ("", но и при удалении всех символов в InputBox - тоже возвратит пустую строку ("".
На твоем месте я создал бы отдельную форми(две кнопки и текстбокс) для ввода данных, чтото вроде InputBox.
Номер ответа: 2
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #2
Добавлено: 05.05.07 15:42
Ну если не знать, в чём отличие vbNullString от "", то это конечно проблема...
А если знать, то легко определить, нажали отмену или ввели пустую строку.
Номер ответа: 3
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #3
Добавлено: 05.05.07 15:56
4 GSerg
Получается когда ввожу пустую строку то InputBox = vbNullString ?
Номер ответа: 4
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #4
Добавлено: 05.05.07 16:28
Наоборот.
Только оператор сравнения на равенство тебе не поможет, потому что с точки зрения оператора сравнения, "" = vbNullString.
А между тем всё очень просто, if strptr(inputbox())=0, значит нажали отмену.
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 06.05.07 01:08
можно исчо через StrPtr
str = InputBox("lalala"
If StrPtr(str) = 0 Then
MsgBox "Отмена"
Else
MsgBox "OK"
End If
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 06.05.07 03:45
ой прастите, до конца последний пост GSerg'a я так и не дочитал ))