Close Method of Workbook Object VBA

We can close workbook by using ‘Close method of workbook object in Excel VBA. It closes the workbook object. Please find the following brief description about close method of workbook object.



50+ Project Management Templates Pack
Excel PowerPoint Word

Advanced Project Plan & Portfolio Template
Excel Template

Business Presentations Templates Pack
PowerPoint Slides

20+ Excel Project Management Pack
Excel Templates

20+ PowerPoint Project Management Pack
PowerPoint Templates

10+ MS Word Project Management Pack
Word Templates

Why we need to Close a Workbook using VBA?

Once we perform the tasks in Excel Workbook, we need to close the workbook. And the whenever we want we can reopen Workbook again.

VBA Close Workbook – Syntax

Here is the syntax to close workbook using VBA.

Workbooks(“Your Workbook Name”).Close(

[SaveChanges], [Filename], [RouteWorkbook])

In the above syntax we are using ‘Close’ method of workbook object to close the workbook.

VBA Close Workbook: Example 1

Please find the below example, It will take you through to close workbook where SaveChanges:=True.

Sub Close_Workbook()
Dim Wkb As Workbook
Set Wkb = Workbooks.Open("D:\Sample.xlsx")
Wkb.Close Savechanges:=True
End Sub


In the above example we have created variable named Wkb in the first statement. We have used Open method of workbook object to open specified workbook named ‘D:\Sample.xlsx’ and then assigned it to object named Wkb in the second statement. At last in the third statement we have used ‘Close’ method of workbook object to close above specified workbook. Finally we have mentioned ‘Savechanges:=True’, that means if we have done any changes in the worksheet it will save the changes.

VBA Close Workbook: Example 2

Please find the below example to close workbook where SaveChanges:=False.

Sub Close_Workbook()
Workbooks (“ D:\Sample.xlsx").Close Savechanges:=False 
End Sub


The above example is same as like example 1 which we explained in the above. The difference is we have mentioned ‘Savechanges:=False, that means if we made any changes in the worksheet it discards any changes that have been made to it.

VBA Close Workbook: Example 3

Please find the below example to close workbook where SaveChanges:=False.

Sub Close_Workbook()
End Sub


The above mentioned code closes the active workbook.

VBA Close Workbook – Instructions

Please follow the below step by step instructions to execute the above mentioned VBA macros or codes:

  1. Open an Excel Workbook
  2. Press Alt+F11 to Open VBA Editor
  3. Insert a Module from Insert Menu
  4. Copy the above code for activating a range and Paste in the code window(VBA Editor)
  5. Save the file as macro enabled workbook
  6. Press ‘F5’ to run it or Keep Pressing ‘F8’ to debug the code line by line.

Leave A Comment

Related pages

excel macro last rowhow to remove password from protected excel sheetclustered bar chart excelddl commands in dbmsexcel delete duplicate cellssorting an excel spreadsheetexcel 2010 vlookup tutorialconstruction cost estimate template excelwhere do i find a tick in excelmake drop down list in excel 2007vba selection.deleteimport text file to excel vbaentirerow deletespss video tutorials for beginnersexcel vba columns functionchart wizard excelcutting and pasting worksheetssql testing interview questions and answers pdfdml databasebar of pie chart excel 2010case statement in vbaexcel vba msgboxvb6 write text fileadodb sql server connection stringexcel templates for project managementunprotect excellexcel macro referenceshortcut keys of excelhow do i merge cells in excel 2010project meeting minutes template worddeclaring variables in vbashortcut formula in excelvba 2007combine multiple excel sheets into one sheetvba excel case statementexcel vba loopingshortcut key insert row excelsas basics tutorialsapplication wait excel vbaarray vba excelaria charts 2010wait excel vbadefining an array in vbahow to remove macros from excelremove excel duplicatesvbscript in excelexcel formulas with exampleshow do i autofit in excelhow do i insert a column in excelms excel vba programmingvba chartexcel vba check if cell is emptyvlookup with examplevlook up tutorialdefine array excelvlookup excel 2007eliminating duplicate rows in excelexcel dashboard graphspassword protection excel 2010ifs function in excelconvert an excel file to csvexcel deleting duplicate rowsebook vba excelloop formula in excelexcel macro countifexcel vba tutorialusing hlookup in exceldim as vbafree excel dashboard templatevba coding basicsoffset function excel 2013excel vba delete columns