我已经使用VBA创建了一个加载项,它是一个包含计算的工作簿。该加载项具有一个用户窗体,用于从访问数据库提取相关信息并填充工作簿。填充数据后,将在Sheet1中执行计算。我需要将工作表“Sheet1”从加载项工作表粘贴到运行加载项宏的新工作簿中。在Excel加载项中选择工作表以运行VBA宏
但是,当我运行加载项时,工作表似乎被隐藏,所以我的数据没有更新。我收到此错误: “运行时错误'1004':对象'_Global'的方法'工作表'失败”。
有人能告诉我如何使用加载项,该加载项具有执行所需计算的工作表?
迷人的部分是当我加载插件后,从Excel中的加载项列表中删除它,它运行完美。但是,当我重新运行宏时,工作表变为隐藏状态,所以出现相同的错误。我对VBA相当陌生,所以任何建议,将不胜感激!
编辑
代码:
Private Sub OptionOK_Click() 'On selecting OK from userform
Dim ws1 As Worksheet
Sheets("Sheet1").Visible = True
Set ws1 = Worksheets("Sheet1")
'User Form Validation
If Trim(Me.cboData.value) = "" Then
Me.cboData.SetFocus
MsgBox "Please complete the form"
Exit Sub
End If
'copies data to given cell in excel
ws1.Range("A1").value = Me.cboData.value
'To copy selection from "Sheet1" into new workbook
Workbooks("myaddin.xlam").Sheets(1).Copy
End Sub
我得到...>表( “工作表Sheet1”)可见=真正的错误。
谢谢,我确实尝试过。我有 昏暗的WS1作为工作表 工作表( “工作表Sheet1”)可见=真 集WS1 =工作表( “工作表Sheet1”) 我得到这个错误:运行时错误9,下标越界。我也在网上搜索,但我没有看到任何相关的解决方案。 – VBAlearner
感谢您的编辑。 cbo是用户表单中的组合框。 me.cboData指使用访问数据库形成列表的组合框。 – VBAlearner
是的,我相信我们可以参考工作表(“Sheet1”)或工作表(1)。就像我之前提到的那样,当我卸载并在Excel中重新安装时,插件运行完美。当我第一次运行宏时,它会挂在我身上。 – VBAlearner