Я хочу заполнить столбец UserForm. Пользователь имеет 4 варианта, как заполнять столбец. Моя проблема заключается в том, что работает только первый вариант (2). Также маска ввода не исчезнет после нажатия кнопки OK. Выбранный вариант следует скопировать в столбец H и заполнить автоматически. Где мои ошибки?Заполните столбец UserForm
Private Sub CommandButton1_Click()
' OK Button
Dim emptyRow As Range
Dim lastrow As Long
lastrow = Cells.SpecialCells(xlCellTypeLastCell).row
Worksheets("Sheet1").Activate
Set emptyRow = Worksheets("Sheet1").Range("H2:H" & lastrow)
If OptionButton2.value = True Then
emptyRow.value = "2"
If OptionButton3.value = True Then
emptyRow.value = "3"
If OptionButton4.value = True Then
emptyRow.value = "4"
If OptionButton5.value = True Then
emptyRow.value = "5"
End If
End If
End If
End If
End Sub
найти свою последнюю строку, я рекомендую что-то вроде 'lastrow = Worksheets ("Лист1"). Cells (Worksheets ("Лист1"). Rows.Count, "H"). End (xlUp) .Row'. Кроме того, ваши IF-операторы должны быть похожи на 'If' this' Then', что 'ElseIf' этот' Then' '' Else' '' End If' – Tyeler
Чтобы скрыть форму после нажатия кнопки, вы должны добавить 'Me.Hide 'в конце вашего кода – gizlmo
После того, как я отступлю от вашего кода, возможно, это более понятно, почему. если первый 'If' является ложным, тогда вы не вводите все остальные' If's ... –