VBA错误1004,找不到文件夹变量的路径,即使路径存在且文件夹变量保存正确的路径

时间:2017-10-26 16:00:15

标签: excel vba

我有打开文本文件并从中导入数据的代码。它工作了一分钟,然后我将它传递给我正在编写它的人,他得到了运行时错误1004:'抱歉,我们找不到[路径],是否有可能被移动,重命名或删除?

这是我的代码:

Sub OpenTxtFiles()

Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim xFolder As String
Dim txtFname As String
Dim cellAddr As String
Dim lastRow As Long
Dim userClass As Integer

xFolder = Application.ThisWorkbook.Path
Set rng = Range("E1:I1")

Application.ScreenUpdating = False       

            For Each cell In rng
                txtFname = cell.Value   'sets the cell value as txtFname variable
                    'MsgBox txtFname
                    cellAddr = cell.Address    'sets the cell address as cellAddr variable
                    Workbooks.OpenText Filename:=xFolder & "\" & txtFname, DataType:=xlDelimited, comma:=True 

ThisWorkbook保存在同一个文件夹中,因此保存在xFolder = Application.ThisWorkbook.Path中,因此它应该可以正常工作,如果我将MsgBox xFolder放在该行之后,它会显示正确的路径。我很困惑。特别是因为它在我发送给我的同事之前工作了。

我还试图用一个要求用户选择文件夹路径的函数替换Application.ThisWorkbook.Path,但是给出了相同的错误。

任何人都可以帮我理解什么是错误的,以及如何解决它?

1 个答案:

答案 0 :(得分:0)

这是一件令人尴尬的简单事情: 我使用分配给宏的按钮设置了一个单独的控件表,因此当路径搜索范围为Set rng变量时,它在控制表上找不到任何内容并返回错误。 而不是:

Set rng = Range("E1:I1")

我需要:

Set rng = Sheets("Sheet1").Range("E1:I1")
相关问题