从封闭变量工作簿复制范围(由 application.getopenfilename 确定的变量)

Copy range from closed variable workbook (variable determined by application.getopenfilename)

我正在尝试从封闭变量工作簿(以 fName 变暗)复制一个范围。 无法让它工作并且似乎没有发现我的错误。代码如下所示,我个人认为问题出在变量 fName 上,但也许我的方向完全错误。

Sub LotoRipper()
Dim fName As String
fName = Application.GetOpenFilename
Workbooks.Open fName
Workbooks(fName).Worksheets("LoTo Sleutellijst").Range("E13").Copy _
Workbooks("LOTO Sleutellijst O-M_rev4.3.xlsm").Worksheets("LoTo Sleutellijst").Range("E13")

End Sub

试图从中吸取教训,所以请尽可能解释我做错了什么,而不是提供解决方案。

你是对的 - 在你的变量中你有一个完整的工作簿路径。打开它后,您应该得到它的名称,例如:

Sub testMacro()
Dim fName As String
fName = Application.GetOpenFilename
Workbooks.Open fName
fName = ActiveWorkbook.Name '<--- try this
Workbooks(fName).Worksheets("sheet1").Range("E13").Copy _
Workbooks("test2.xlsx").Worksheets("sheet1").Range("E13")

End Sub