【问题标题】:Intermittent Text Import Error (Error 9)间歇性文本导入错误(错误 9)
【发布时间】:2016-09-26 02:45:36
【问题描述】:

我不确定这是否是问题的正确位置,但这有点超出我的知识库。

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

我的代码是:

暗淡

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

我在运行此代码时收到“运行时错误 9:下标超出范围”。调试菜单为问题选择此代码:

With Sheets("Primary").QueryTables.Add(Connection:= _ “文本;” & Ret, Destination:=Workbooks("Importer").Sheets("Primary").Range("$A$1"))

我不明白仅在某些计算机终端上导致此问题的原因。据我所知,我们所有的 Excel 程序都设置相同。

任何帮助将不胜感激。

【问题讨论】:

    标签: excel vba import


    【解决方案1】:

    “运行时错误 9:下标超出范围”是由为数组指定的无效索引/名称引起的。比如代码 Sheets("Primary"),但没有名为 Primary 的工作表..

    根据具体情况,根据给定的信息,我怀疑由于工作簿名称已更改而发生错误...所以代码 Workbooks("Importer") 尝试查看名为 Importer 的工作簿并失败..

    【讨论】:

    • 谢谢 Susilo,我只是不明白为什么它可以在计算机 1、2 和 3 上运行,但是当 4 号计算机使用该程序时它会失败。每次都是同一个 Excel 文档,所有工作表名称都没有改变。工作簿名称也没有改变。我已将它放在我们网络上的一个文件夹中,并通过其他人的登录从不同的终端访问了相同的文件,它只是间歇性地失败。我今天上班时会研究一下。
    • 我今天稍微研究了一下。我需要做的就是将 (.xlsm) 添加到代码中工作簿引用的末尾,这一切似乎都有效。不知道为什么有时需要而其他人不需要。但现在很好。谢谢苏西洛。
    猜你喜欢
    • 2016-05-20
    • 1970-01-01
    • 2023-03-07
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2016-09-11
    相关资源
    最近更新 更多