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

时间:2014-06-28 19:47:43

标签: excel vba

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

Sheets("Range").Activate
   Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Workbooks.Open ("AvgStdev.xlsm")

之前它正在工作,但现在excel正在提示文件无法找到。请帮助:/

2 个答案:

答案 0 :(得分:3)

如果您按照HERE所述声明变量,则可以轻松地执行您想要的操作 因此,如果我们要应用它,您可以像这样打开工作簿:

    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

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

    wb.Save '~~> save
    wb.Close '~~> close

或者您只能使用关闭方法执行此操作:

    wb.Close True '~~> explicit SaveChanges argument to true

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

    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

HTH。

答案 1 :(得分:0)

右键单击excel文件并从属性中获取文件路径,然后将实际文件路径替换为以下内容:

Workbooks.Open ("filepath\AvgStdev.xlsm")