我对Excel VBA有点新,并且无法读取单元格值并使用它们来查找文件路径并打开文件。以下是一些相关的事实(希望这是足够的特异性,但如果我遗漏了其他相关信息,请告诉我)。
最终我要创建一个循环来为列出的每个人打开多个文件,但目前我只是专注于让一个人打开。
以下是我目前的代码:
Sub findFile()
Dim Folder As String
Dim FileName As String
Dim FirstName As String
Dim LastName As String
FirstName = Range("F4").Value
LastName = Range("G4").Value
Folder = "Z:\Documents\Warehouse Personnel Updates\"
FileName = Dir(Folder & LastName & ", " & FirstName & "*.xlsx")
Workbooks.Open FileName
当我运行时,我得到"运行时错误' 1004':抱歉,我们无法找到。"只是一个空格,然后是句号结束的句号。好像根本就没有读取文件名。
如果有人对我所缺少的东西有所了解,我将不胜感激!谢谢!
答案 0 :(得分:1)
您可以在Dir中使用通配符打开工作簿。这只是一个例子......
Dim sName As String
'Declare the variable for the workbook.
sName = Dir(ThisWorkbook.Path & "\*Smith_John*")
If sName <> "" Then
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & sName
End If