【问题标题】:Copying from one Excel to another : index out of valid range从一个 Excel 复制到另一个:索引超出有效范围
【发布时间】:2016-07-01 10:39:11
【问题描述】:

我正在尝试从一个 Excel 工作簿复制到另一个。下面是相关代码sn-p:

directory = "C:\VBA\Import\"
fileName = Dir(directory & "*.xl??")

Set sourceColumn = Workbooks(directory & fileName).Worksheets(1).Columns(1)
Set targetColumn = ThisWorkbook.Worksheets("IMPORT").Columns(1)
sourceColumn.Copy Destination:=targetColumn

执行此操作时,我在“set sourceColumn”行中收到“运行时错误 9:索引超出有效范围”(翻译自 Excel 的德语版本)。

我不知道这是什么原因。我在执行期间使用调试器仔细检查了文件名,它是正确的。此文件中还存在工作表和列的索引(它有一个包含 5 列的工作表)。

有什么想法吗?提前致谢!

【问题讨论】:

  • 你在打开工作簿吗?

标签: vba excel


【解决方案1】:

试试这个,它对我有用:

Workbooks.Open directory & Filename
Set sourceColumn = Workbooks(Filename).Worksheets(1).Columns(1)

您不能像这样引用已关闭的工作簿

【讨论】:

  • 嗯,我以为它会自动打开文件 ;-) 谢谢,现在可以正常工作了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 1970-01-01
  • 2015-05-13
  • 2016-09-17
相关资源
最近更新 更多