我已經使用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