Страницы: 1
RSS
Настроить проверку элементов UserForm перед закрытием
 
Здравствуйте, только начал с VBA, поэтому нужна помощь.
При нажатии кнопку "указать зарплату" рождается Userform, в котором необходимо заполнить Textbox и выбрать любую OptionButton.
Далее, при нажатии кнопки "ОК", необходимо проверить заполнены ли эти поля и если заполнены записать значения с текстбокса в любую ячейку, если нет - вывести сообщение, что надо заполнить.
Заранее спасибо.
Изменено: vikttur - 10.06.2021 18:06:44
 
Цитата
goodcynic написал:
заполнены ли эти поля
эти - это какие? Там вообще только одно поле - TextBox1. Все остальное - это OptionButton. Вы поясните точнее что именно надо проверить. И не пытайтесь писать техническим языком - пишите на человеческом, глядя просто на свою форму. Так всем будет понятнее. Потому сейчас вообще неясно что надо проверить: то ли наличие хоть какого-то значения в TextBox1, то ли наличие выбора хоть какого-то OptionButton.
Наличие текста в TextBox1 можно проверить так:
Код
If TextBox1.Value = "" then
     msgbox "Не заполнено поле 'Уровень зарплаты'",vbinformation
     Exit sub
end if
А наличие выбора одного из представленных OptionButton можно сделать и просто проверкой каждого по отдельности на True. Или, если взять код из Вашего файла, то выглядеть проверка может так:
Код
dim dOpb#
For Each x In Me.Controls
        If TypeOf x Is MSForms.OptionButton Then
            dOpb = dOpb + Abs(x.Value) 'если будет True(т.е. пункт выбран), то Abs(x.Value) будет равно 1. В противном случае  - 0
        End If
        If TypeOf x Is MSForms.TextBox Then
            If x.Value = "" Then
                MsgBox "Zapolni Zarplatu"
                Exit Sub
            End If
        End If
    Next
    'если dOpb равно 0 - ни одна OptionButton не выбрана
    If dOpb = 0 Then
        MsgBox "Необходимо выбрать вариант"
        Exit Sub
    End If
Изменено: Дмитрий(The_Prist) Щербаков - 10.06.2021 19:52:51
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх