
[英]Runtime error 1004 on Save (Thisworkbook.save) Works on one machine and not on another
[英]Runtime Error 1004 on one machine but not the other
我对宏不是很熟悉,也无法弄清楚为什么我在网络上的所有其他计算机上却没有在我的计算机上收到运行时错误1004? 我已经在PC上创建了文件。 这是代码:
Sub CustomerDetailed()
'
Dim sheetName As String
sheetName = "Sales Customer Detailed Report"
ShowSheets (sheetName)
Sheets("SageWinman").Range("H2").ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Sales Customer Detailed Report").PivotTables("CustomerDetailed").PivotCache.Refresh
Sheets("Sales Customer Detailed Report").Select
End Sub
它所做的一切-单击按钮即可打开隐藏的工作表,然后刷新数据透视表数据。 调试器指出了以下通道:
Sheets("SageWinman").Range("H2").ListObject.QueryTable.Refresh BackgroundQuery:=False
此错误意味着通常不存在某些命名范围/单元。
因此,在有问题的行上,如果此工作表不存在,则可以是Sheets(“ SageWinman”)元素;如果将excel的单元格命名参数设置为数字参考(而不是字母),则可以是Range(“ H2”)。
检查参考样式模式:工具/选项/常规/ R1C1参考样式
或者,要找到错误,请用以下内容替换该行:
Sub CustomerDetailed()
Dim sheetName As String
Dim thesheet as Worksheet
Dim r As Range
sheetName = "Sales Customer Detailed Report"
ShowSheets (sheetName)
Set thesheet = Sheets("SageWinman")
Set r = thesheet .Range("H2")
r.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Sales Customer Detailed Report").PivotTables("CustomerDetailed").PivotCache.Refresh
Sheets("Sales Customer Detailed Report").Select
End Sub
重新运行脚本; 如果失败,您应该更精确地确定在哪里。
我发现了-为什么
您必须使用自己的ODBC驱动程序来设置每个用户 。 -因此,在网络上-确保每个用户都有指向ur DB的ODBC驱动程序并在其计算机上进行设置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.