Привет Я относительно новичок в excel vba, и у меня есть некоторые трудности. У меня есть книга с 3 листами. Первый лист содержит две кнопки и кнопку. Когда пользователь нажимает кнопку, я хочу написать сценарий VBA, который выберет соответствующий лист (лист 2 для кнопки 1, листы 3 для кнопки выбора 2), скопируйте его в новую книгу и предложите пользователю сохранить новую книгу , Мой код ниже:Использование кнопки Option для установки переменной в excel vba
Dim SheetName As String
Dim OptionButton1, OptionButton2 As OptionButton
If OptionButton1 = True Then Set SheetName = Sheet2Name
If OptionButton2 = True Then Set SheetName = Sheet3Name
Sheets(SheetName).Copy
If MsgBox("Would you like to save the new workbook?", vbYesNo _
+ vbQuestion, "") = vbYes Then
Application.Dialogs(xlDialogSaveAs).show
End If
Я получаю сообщение об ошибке во время выполнения программы, которая говорит изменяемый объект не установлен на этой линии: Если OptionButton2 = True Then Set SheetName = Sheet3Name. Когда я нависаю над строкой, он говорит OptionButton2 = Nothing, но Optionbutton1 = Empty. Я попытался изменить объявление переменной на:
Dim OptionButton1 As OptionButton
Dim OptionButton2 As OptionButton
, но затем оба OptionButtons = Nothing. Я чувствую, что я, вероятно, неправильно понимаю, как объявлять и устанавливать переменные, но ничто из того, что я пробовал, не сработало. Любая помощь приветствуется.
Вы не назначаете фактические кнопки параметров своим переменным. Используете ли вы элементы управления Form или элементы ActiveX? –
Я использую элементы управления формы – nickalbe
'OptionButton1' si DIM-ed как вариант в вашем коде –