我是VBA新手。我正在尝试将一个工作簿中的列复制到另一个工作簿中。下面是我试图使用的子,但得到“运行时错误9 - 下标超出范围”的错误。有什么建议么?VBA:复制范围。运行时错误9 - 下标超出范围
Sub copydata(wbSource As String, wsSource As String, rangeSource As String, wbDest As String, wsDest As String, rangeDest As String)
Workbooks(wbSource).Worksheets(wsSource).Range(rangeSource).copy Destination:=Workbooks(wbDest).Worksheets(wsDest).Range(rangeDest)
End Sub
Sub result()
' I also tried to set wsSource and wsDest to 1 but still doesn't work
Call copydata("es.csv", "es", "A:B", "Workbook1.xlsm", "result", "A:B")
End Sub
感谢
编辑: 他们是在同一个目录。我该模块中创建Workbook1.xlsm
一个工作簿/工作表不存在。 –
请检查编辑 –
这是不够的,他们是'在同一个文件夹'。它们必须位于同一工作空间中,才能在不使用完全限定的外部引用的情况下引用另一个工作簿(例如.csv)。 – Jeeped