Страница: 1 | 2 |
Вопрос: InputBox выдает ошибку
Добавлено: 01.09.10 17:07
Автор вопроса: oleg
Всем доброго дня!
Посмотрите в чем у меня ошибка. При нажатии cancel вылетает рантаймовская 13 ошибка.
Private Sub CallUserform3_Click() 'select department via password
beg: psw = InputBox("Введите пароль вашего цеха")
Select Case psw
Case 1
dept = "ЦМИ"
Sheets("lists").Range("b2..b5").Name = "ceh"
Case 2
dept = "ЦСИ"
Sheets("lists").Range("c2..c5").Name = "ceh"
Case 3
dept = "ЦЗИ"
Sheets("lists").Range("d2..d5").Name = "ceh"
Case Else
GoTo beg
End Select
UserForm5.Caption = dept
UserForm5.Calendar.Value = Date
UserForm3.Hide
UserForm5.lbl_dept_name = dept
UserForm5.Show
End Sub
Спасибо
Ответы
Всего ответов: 17
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 01.09.10 17:32
Номер ответа: 2
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #2
Добавлено: 01.09.10 19:44
ошибка у Вас в типах данных..
попробуйте написать Case "1" Case "2" и тд
и на всякий случай (наверно лишнее, но все же)
psw = clng(InputBox("Введите пароль вашего цеха")
или если пароль будит состоять только из цифр можно сделать так:
Номер ответа: 3
Автор ответа:
oleg
Вопросов: 12
Ответов: 23
Профиль | | #3
Добавлено: 02.09.10 08:27
Спасибо Just. Но беда не в этом. Ошибку выдает при отказе от ввода, при нажатии кнопки cancel. В остальном код весь работает нормально.
Номер ответа: 4
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #4
Добавлено: 02.09.10 09:47
ошибка в среде программирования. качни там апдейтик есть до дотнета3.5го ..
Номер ответа: 5
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #5
Добавлено: 02.09.10 10:53
а если попробовать заменить goto на do loop?
Номер ответа: 6
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #6
Добавлено: 02.09.10 10:54
на 7 строке len(psw)
Номер ответа: 7
Автор ответа:
oleg
Вопросов: 12
Ответов: 23
Профиль | | #7
Добавлено: 02.09.10 11:03
AgentFire Бросьте ссылку, если не сложно.
Номер ответа: 8
Автор ответа:
oleg
Вопросов: 12
Ответов: 23
Профиль | | #8
Добавлено: 02.09.10 11:06
Just Не помогло. Вырубает стандартный VBA диалог inpubox: ОК-cancel, то есть при отказе пользователя от ввода пароля вместо закрытия окна ввода возникает ошибка.
Номер ответа: 9
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #9
Добавлено: 02.09.10 11:12
тогда AgentFire прав, дело не в коде
Номер ответа: 10
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #10
Добавлено: 02.09.10 11:46
Номер ответа: 11
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #11
Добавлено: 02.09.10 18:28
Вот так нужно ?
Номер ответа: 12
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #12
Добавлено: 02.09.10 19:05
нет не так. тебе все написали в посте №8. лови ошибку
Номер ответа: 13
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #13
Добавлено: 04.09.10 11:44
Так у меня ошибки не возникает.
Просто без конца спрашивает пароль.
Если нужно, чтобы по отмене прекращалась работа, то можно вот так:
Никаких ошибок не возникает.
Номер ответа: 14
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #14
Добавлено: 04.09.10 18:45
Номер ответа: 15
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #15
Добавлено: 04.09.10 21:54
2 AgentFire
так это у oleg'а ошибка была... )
2 Jasmin
а зачем тогда вообще do loop нужен?