从封闭变量工作簿复制范围(由 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
我正在尝试从封闭变量工作簿(以 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