我有一本三张纸的练习册。
第一个工作表包含两个选项按钮和一个按钮。当用户单击按钮时,我希望将相应的工作表(选项按钮1的工作表2,选项按钮2的工作表3)复制到新工作簿,并提示用户保存新工作簿。
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
我收到运行时错误
未设置对象变量
在这一行:
If OptionButton2 = True Then Set SheetName = Sheet3Name
当我将鼠标悬停在该行上时,它显示OptionButton2
是Nothing
,但Optionbutton1
是Empty
。我尝试将变量声明更改为:
Dim OptionButton1 As OptionButton
Dim OptionButton2 As OptionButton
但是两个OptionButton
都是Nothing
。
2条答案
按热度按时间ubby3x7f1#
你可以这样声明它:
uujelgoq2#
您只对对象使用set,而不是像字符串和数字这样的基元类型。