【发布时间】:2021-08-02 23:53:16
【问题描述】:
我正在运行存储在活动工作簿中的 Excel 宏。我希望它提示打开一个文件,引用为 OldWorkbook 并从 OldWorkbook 复制值,然后将它们的值粘贴到活动工作簿中。
在“将范围复制到剪贴板便笺”之后出现错误。好像它现在不承认“OldWorkbook”的任何价值?
Sub Version_Convert()
Dim OldWorkbook As Variant
OldWorkbook = Application.GetOpenFilename("Excel Files (*.xl*),*.xl*", , "Choose File", "Open", False)
If OldWorkbook = "False" Then
Else
Workbooks.Open (OldWorkbook)
End If
'Copy range to clipboard
Workbooks(OldWorkbook).Worksheets("PKG").Range("B12:CW28").Copy
'PasteSpecial to paste values, formulas, formats, etc.
ThisWorkbook.Worksheets("PKG").Range("B12:CW28").PasteSpecial Paste:=xlPasteValues
End Sub
为什么使用字符串会给我一个错误?如何使 OldWorkbook 可用?
【问题讨论】:
-
Dim wb As Workbook,Set wb = Workbooks.Open(OldWorkbook),然后将Workbooks(OldWorkbook)更改为wb。 -
OldWorkbook是文件的完整路径,但Workbooks()只需要文件名。
标签: excel vba getopenfilename