Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2013, 01:13   #1
TimofeyT
 
Регистрация: 30.09.2013
Сообщений: 4
Вопрос Вывод предупреждающей msgbox при незаполненной форме, VBA

Помогите, пожалуйста, разобраться со следующей проблемой. Есть Форма для добавления нового продавца "Add_New_Seller". Там можно добавить его имя, фамилию, дату рождения. Затем идут две опции: первая пол М/Ж с option buttons, вторая - полный/неполный рабочий день с option buttons.

Все работает и добавляет продавцов в эксель ка надо, но: нужно, чтобы в случае, если пользователь не выбрал пол или не указал тип занятости продавца, выскакивал msgbox "Insufficient data. Enter all the required fields!". Получилось сделать это для имени, фамилии и даты рождения, а вот как сделать это для option buttons понять не могу. Буду очень признателен, если поможете разобраться!

Private Sub Add_New_Seller_Click()

'declare variable
Dim iLastRow As Long

'tell the program to which worksheet it should go
Sheets("Sellers").Select

'if not all the information is filled in, then the message box appeares, warning about that fact
If Name_of_a_Seller.Value = vbNullString Or Last_Name_of_a_Seller.Value = vbNullString Or Birth_of_a_Seller.Value = vbNullString Then
MsgBox "Insufficient data. Enter all the required fields!", vbOKOnly Or vbExclamation, "Error"
Else

'assign a unique ID to a seller into the last empty cell of the column "ID"
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Cells(iLastRow + 1, 1).Value = iLastRow

'put the First name of a seller into the last empty cell of the column "First Name"
iLastRow = Cells(Rows.Count, 2).End(xlUp).Row
Cells(iLastRow + 1, 2).Value = Name_of_a_Seller.Text

'put the Last name of a seller into the last empty cell of the column "Last Name"
iLastRow = Cells(Rows.Count, 3).End(xlUp).Row
Cells(iLastRow + 1, 3).Value = Last_Name_of_a_Seller.Text

'put the date of birth of a seller into the last empty cell of the column "Date of birth"
iLastRow = Cells(Rows.Count, 4).End(xlUp).Row
Cells(iLastRow + 1, 4).Value = Birth_of_a_Seller

'use the If... Then statement to choose the gender
If Female Then
iLastRow = Cells(Rows.Count, 5).End(xlUp).Row
Cells(iLastRow + 1, 5).Value = "Female"
ElseIf Male Then
iLastRow = Cells(Rows.Count, 5).End(xlUp).Row
Cells(iLastRow + 1, 5).Value = "Male"
End If

'use the If... Then statement to choose the schedule (Full-time or not)
If Yes_Fulltime Then
iLastRow = Cells(Rows.Count, 6).End(xlUp).Row
Cells(iLastRow + 1, 6).Value = "Yes"
ElseIf No_Fulltime Then
iLastRow = Cells(Rows.Count, 6).End(xlUp).Row
Cells(iLastRow + 1, 6).Value = "No"
End If
End If
'make the "first name" textbox empty
Name_of_a_Seller.Value = ""
'make the "last name" textbox empty
Last_Name_of_a_Seller.Value = ""
'make the "date of birth" textbox empty
Birth_of_a_Seller.Value = ""

'make the values of option boxes empty
Female.Value = ""
Male.Value = ""
Yes_Fulltime.Value = ""
No_Fulltime.Value = ""
End Sub
TimofeyT вне форума Ответить с цитированием
Старый 08.10.2013, 04:22   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Используйте CheckBox
Код:
Private Sub CheckBox1_Click()
    If CheckBox1.Value Then
        CheckBox1.Caption = "Male"
    Else
        CheckBox1.Caption = "Female"
    End If
End Sub
Private Sub UserForm_Activate()
    CheckBox1.Value = True
    CheckBox1.Caption = "Male"
End Sub


Код:
 iLastRow = Cells(Rows.Count, 5).End(xlUp).Row
Male= CheckBox1.Value 

If Male Then
 Cells(iLastRow + 1, 5).Value = "Male"
 Else
 Cells(iLastRow + 1, 5).Value = "Female"
 End If
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 08.10.2013, 06:27   #3
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Код:
If Not OptionButton1.Value And Not OptionButton2.Value Then
         MsgBox "Insufficient data. Enter all the required fields!", vbOKOnly Or vbExclamation, "Error"
End If
maksim_serg вне форума Ответить с цитированием
Старый 08.10.2013, 12:20   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

maksim_serg
Дискриминация полов.

Всегда выбрать можно только один.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 08.10.2013, 18:19   #5
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
:Всегда выбрать можно только один.
Извините, но людей, которым можно поставить сразу два пола, М и Ж, я видел только на картинках в интернете. Поэтому такой вариант, я как то упустил...
maksim_serg вне форума Ответить с цитированием
Старый 10.10.2013, 13:39   #6
TimofeyT
 
Регистрация: 30.09.2013
Сообщений: 4
По умолчанию

Спасибо большое за помощь!!!
TimofeyT вне форума Ответить с цитированием
Старый 10.10.2013, 13:54   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Вообще-то без файла не видно сколько каких там радиокнопок - может они и могут быть одновременно нажаты
И может продавец - это "магазин" т.е. пол не важен, а пол - это ассортимент
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод и вывод выполнить с встроенных диалоговых окон InputBox и MsgBox Anti123 Microsoft Office Excel 3 23.03.2012 18:12
можно ли В VBA изменить шрифт для MsgBox? roborrr Microsoft Office Excel 1 27.02.2011 14:59
макрос поиск последней незаполненной строки Uralmaster Microsoft Office Excel 21 10.02.2011 02:17
Msgbox вывод суммы Palomnik1096 Microsoft Office Excel 5 13.12.2010 13:12
Меню на форме VBA BloodLady Microsoft Office Excel 2 06.01.2009 12:11