Skip to main content

Workbook.Close method

Closes the object.


expression.Close (SaveChanges, FileName, RouteWorkbook)

expression A variable that represents a Workbook object.


Name Required/Optional Data type Description
SaveChanges Optional Variant If there are no changes to the workbook, this argument is ignored. If there are changes to the workbook and the workbook appears in other open windows, this argument is ignored. If there are changes to the workbook but the workbook doesn't appear in any other open windows, this argument specifies whether changes should be saved. If set to True, changes are saved to the workbook.

If there is not yet a file name associated with the workbook, FileName is used. If FileName is omitted, the user is asked to supply a file name.

FileName Optional Variant Saves changes under this file name.
RouteWorkbook Optional Variant If the workbook doesn't need to be routed to the next recipient (if it has no routing slip or has already been routed), this argument is ignored. Otherwise, Microsoft Excel routes the workbook according to the value of this parameter.

If set to True, the workbook is sent to the next recipient. If set to False, the workbook is not sent. If omitted, the user is asked whether the workbook should be sent.


Closing a workbook from Visual Basic doesn't run any Auto_Close macros in the workbook. Use the RunAutoMacros method to run the Auto_Close macros.


This example closes Book1.xlsx and discards any changes that have been made to it.

Workbooks("BOOK1.XLSX").Close SaveChanges:=False

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>