[英]Broken Excel VBA Macro Run-time error '1004': Method 'Range' of object '_Global' failed
[英]Excel VBA Run-Time Error '1004' Method 'Range' of object'_Global' Failed
我有一個 MS Access 數據庫,用於跟蹤組的每日統計信息。 我創建了一個按鈕,它將查詢結果導出到 a.xlsx,然后創建並格式化 pivot 表以供組管理人員查看。
DoCmd.OutputTo acOutputQuery, "qry_daily_report", "ExcelWorkbook(*.xlsx)", "Z:\Users\jondoe\..........\Desktop\Export\qry_daily_report.xlsx", False, "", , acExportQualityPrint
Dim appExcel As Excel.Application
Dim myWorkbook As Excel.Workbook
Set appExcel = CreateObject("Excel.Application")
Set myWorkbook = appExcel.Workbooks.Open("Z:\Users\jondoe\..........\Desktop\Export\qry_daily_report.xlsx")
appExcel.Visible = True
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$H$50000"), , xlYes).Name = "qry_daily_report"
我第一次單擊按鈕,導出和 pivot 表創建按預期完美運行。 但是,當我關閉 .xlsx 然后再次單擊該按鈕時,導出將起作用,但創建 pivot 表的代碼不會執行。 相反,我收到一個錯誤...“Excel VBA 運行時錯誤'1004'對象'_Global'的方法'范圍'失敗”。 當我嘗試調試它時,我的關注被突出顯示為錯誤。
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$H$50000"), , xlYes).Name = "qry_daily_report"
我發現如果我關閉數據庫並再次重新打開它,導出和 pivot 表可以完美運行。 同樣,如果我保存數據庫並單擊按鈕,則導出和 pivot 表可以完美運行。 對於我的客戶來說,這兩種選擇都不合理。
請問有人知道如何糾正這個錯誤嗎?
Range("$A$1:$H$50000")
從全局調用,而不是從 Excel 應用程序調用。
ActiveSheet
也是如此。
如果您不使用 Excel 本身,請始終明確說明您正在使用哪個Excel 實例。
appExcel.ActiveSheet.ListObjects.Add(xlSrcRange, appExcel.ActiveSheet.Range("$A$1:$H$50000"), , xlYes).Name = "qry_daily_report"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.