间歇性文本导入错误(错误9)

时间:2016-09-26 02:45:36

标签: excel vba import

我不确定这是否适合这个问题,但这有点超出了我的知识基础。

我的问题是我有一段代码只是导入文本文档并使用空格分隔符。我已在终端上多次使用此代码并且可以正常工作。然而,当我在一个不同的终端上运行它时,我得到一个错误,其他时候它很好。

我的代码是:

Dim Ret

Ret = Application.GetOpenFilename("Text Files (*.txt), *.txt")

If Ret <> False Then
    With Sheets("Primary").QueryTables.Add(Connection:= _
    "TEXT;" & Ret, Destination:=Workbooks("Importer").Sheets("Primary").Range("$A$1"))
    .Name = "Sample"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 437
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = True
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = False
    .TextFileSpaceDelimiter = True
    .TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False

End With
End If

我得到一个&#34;运行时错误9:下标超出范围&#34;当我运行此代码时。调试菜单为问题选择此代码:

使用表格(&#34;主要&#34;)。QueryTables.Add(连接:= _         &#34; TEXT;&#34; &安培; Ret,Destination:=工作簿(&#34; Importer&#34;)。表格(&#34; Primary&#34;)。范​​围(&#34; $ A $ 1&#34;)

我不明白是什么原因造成这种情况仅限于某些计算机终端。据我所知,我们所有的Excel程序都设置相同。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

&#34;运行时错误9:下标超出范围&#34;是由给予数组的无效索引/名称引起的...比如代码Sheets("Primary")但没有名为 Primary 的工作表..

具体到案例,在给定信息的情况下,我怀疑由于工作簿的名称已经更改而发生错误...因此代码Workbooks("Importer")尝试查找名为 Importer 的工作簿并失败。