VBA如何打开另一个工作簿?

use*_*548 2 excel vba

我正在尝试使用下面的代码打开另一个工作簿

Sheets("Range").Activate
   Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Workbooks.Open ("AvgStdev.xlsm")
Run Code Online (Sandbox Code Playgroud)

以前也能用,现在excel提示找不到文件。请帮忙 :/

L42*_*L42 5

如果您按照此处讨论的方式声明变量,您可以轻松地做您想做的事。
因此,如果我们要应用它,您可以像这样打开您的工作簿:

    Dim wb As Workbook
    Dim myfilename As String

    myfilename = "C:\Users\Ayaz\Desktop\Analysis\AvgStdev.xlsm"
    '~~> open the workbook and pass it to workbook object variable
    Set wb = Workbooks.Open(myfilename) 

    '~~> More codes here
Run Code Online (Sandbox Code Playgroud)

现在,如果您要保存相同的文件,请稍后在您的代码中:

    wb.Save '~~> save
    wb.Close '~~> close
Run Code Online (Sandbox Code Playgroud)

或者你可以只使用Close方法来做到这一点:

    wb.Close True '~~> explicit SaveChanges argument to true
Run Code Online (Sandbox Code Playgroud)

现在,如果您想将其另存为另一个文件:

    Dim newfilename As String
    newfilename = "C:\Users\Ayaz\Desktop\Analysis\Another.xlsm"
    '~~> If you are saving it in a format other than .xlsx,
    '~~> you have to be explicit in the FileFormat argument
    wb.SaveAs newfilename, xlOpenXMLWorkbookMacroEnabled
    wb.Close
Run Code Online (Sandbox Code Playgroud)

哈。