更新文件:对象'_workbook'的方法'工作表'失败

时间:2017-09-01 13:06:38

标签: excel vba excel-vba

我有3个Excel文件,一个是所有代码的报告,另一个是.xls SAP BI导入文件和状态文件。这两个都保存在网络服务器上。导入文件作为模板是常量,而状态文件是逐页写入的。

我的宏从报告和导入文件中获取数据,主要是列,将它们放在状态文件中,并在数字之间进行一些比较。

它适用于我的计算机和网络,但当我更改为客户端的网络服务器时,我收到错误。

Error

状态工作簿可以创建并可以打开,但是如果我尝试访问我需要更新的工作表,它就会崩溃。

我的猜测是错误来自客户端的地址,其中包含括号,例如:

  

I:_Other_Site \中心_(F-SERVER)\ A-CENTRAL \ 00902 \ DIGITAL \ 01。工作卡BT \ 02。工作文件\

虽然我公司的网络地址更类似于

  

Z:\ Clients \ Working Files \“usernamefolder”\

我已经尝试将文件名和路径放在变量中,甚至在VBA中硬编码了工作表名称。这是一段代码:

Dim sPath, sFile_s, strSheetName As String
Dim wb_s As Workbook

sPath = "I:\_Other_Site\CENTER_(F-SERVER)\A-CENTRAL\00902\DIGITAL\01. Working Card BT\02. Working files\"
sFile_s = sPath & "Import Status.xlsx"

Set wb_s = Workbooks.Open(sFile_s)

wb_s.Activate
strSheetName = ActiveSheet.Name

'some code here to open the other files'

wb_s.Worksheets(strSheetName).Activate 'here it errors out

1 个答案:

答案 0 :(得分:0)

strSheetName = ActiveSheet.Name获取当前/开发工作簿(而不是wb_s)中活动工作表的名称。将其更改为strSheetName = wb_s.ActiveSheet.Name