我是VBA新手,在尝试运行一个简单命令时遇到了困难。
我想打开一个工作簿(name=test.xlsx(,该工作簿使用VBA代码保存在我的电脑中的特定路径(C:\Users\u16086\Desktop\Folder中(中。
我在第一个excel中定义了两个名称,如果文件的路径或名称不同,我可以修改这两个参数:
路径:C:\Users\u16086\Desktop\Folder
文件名:test.xlsx
我写的代码是:
Option Explicit
Sub openworksheet()
Dim path As String
Dim file_name As String
Workbooks.Open Filename:=path & file_name
End Sub
我运行了代码,但它说有一个错误运行时错误1004。我该如何解决这个问题?
您已经定义了两个变量。您必须为它们分配值,然后构建如下所示的路径:
Sub openworksheet()
Dim path As String
Dim file_name As String
path = "C:Usersu16086DesktopFolder"
file_name = "test.xlsx"
Workbooks.Open fileName:=path & "" & file_name
End Sub
路径C:Usersu16086DesktopFoldertest.xlsx
也可以写成
"C:Usersu16086DesktopFolder" & "" & "test.xlsx"
所以试试
Workbooks.Open Filename:=path & "" & file_name
或者,您可以检查文件夹路径是否以"\"结尾。例如
Option Explicit
Sub openworksheet()
Dim path As String
Dim file_name As String
'~~> Change Sheet name and cell address accordingly
path = Sheets("Sheet1").Range("A1").Value
file_name = Sheets("Sheet1").Range("A2").Value
If Right(path, 1) <> "" Then path = path & ""
Workbooks.Open Filename:=path & file_name
End Sub