Excel 尝试在使用工作簿打开工作簿后激活工作表。打开

Excel 尝试在使用工作簿打开工作簿后激活工作表。打开,excel,vba,Excel,Vba,我卡住了。我正在运行一个数组来打开选定的文件,这些文件确实打开了,但一旦我开始尝试添加处理代码,我似乎就无法激活所需的工作表。我尝试在strShName上进行调试,变量从未填充,始终为空,但变量ExpRptFileName(N)会填充完整路径和文件名.ext。 我想知道该路径是否应该被删除(我尝试了几种不同的方法,但都失败了),或者我正在使用的循环类型是否让我挂断了电话 在下面的代码中,变量ExpRptID为null;当变量ExpRptFileName(N)包含正确的路径、文件名和文件ext时,

我卡住了。我正在运行一个数组来打开选定的文件,这些文件确实打开了,但一旦我开始尝试添加处理代码,我似乎就无法激活所需的工作表。我尝试在
strShName
上进行调试,变量从未填充,始终为空,但变量
ExpRptFileName(N)
会填充完整路径和文件名.ext。 我想知道该路径是否应该被删除(我尝试了几种不同的方法,但都失败了),或者我正在使用的循环类型是否让我挂断了电话

在下面的代码中,变量ExpRptID为null;当变量ExpRptFileName(N)包含正确的路径、文件名和文件ext时,不会从工作表中提取数据

代码如下:

ExpRptFileNameInLoop = Right(ExpRptFileName(N), Len(ExpRptFileName(N)) - InStrRev(ExpRptFileName(N), Application.PathSeparator, , 1))

If bIsBookOpen(ExpRptFileNameInLoop) = False Then

            Set mybook = Nothing
            On Error Resume Next
            Set mybook = Workbooks.Open(ExpRptFileName(N))
            On Error GoTo 0

            If Not mybook Is Nothing Then

                Workbooks.Open ExpRptFileName(N)



Dim ExpRptID As String
ExpRptID = Sheets("Expense Report").Range("R3").Value

Exit Sub
Function bIsBookOpen(ByRef szBookName As String) As Boolean
' ************** Notes here
On Error Resume Next
bIsBookOpen = Not (Application.Workbooks(szBookName) Is Nothing)
End Function

欢迎来到SO,但是。。。在VBE中,请选择要在此处发布的代码,点击一次Tab,然后复制粘贴到此处(编辑帖子)以吸引阅读该代码的人。为什么要激活工作表?最佳实践是绝对引用图纸,无论是按名称还是按图纸编号。还提供了一个最小的可验证示例,因此请清理代码中的所有混乱,因为我们很难看到混乱中的实际问题。Argh。只是重新键入了所有内容,然后就丢失了…欢迎使用SO,但是。。。在VBE中,请选择要在此处发布的代码,点击一次Tab,然后复制粘贴到此处(编辑帖子)以吸引阅读该代码的人。为什么要激活工作表?最佳实践是绝对引用图纸,无论是按名称还是按图纸编号。还提供了一个最小的可验证示例,因此请清理代码中的所有混乱,因为我们很难看到混乱中的实际问题。Argh。只是重新键入了所有内容,然后丢失了。。。。