Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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
InputBox при нажатии Отмена возвращает пустую строку ("";), но и при удалении всех символов в InputBox - тоже возвратит пустую строку ("";)

Ну если не знать, в чём отличие 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

    Dim str As String
    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 я так и не дочитал ))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам