SaveAs Method of Workbook Object VBA

We can save workbook by using ‘SaveAs’ method of workbook object in Excel VBA. Please find the following brief description about saveas 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 SaveAS a Workbook using VBA?

When we do any changes in the existing workbook, later we may wanted to see the file without changes. So that we can saves changes to the workbook in a different file using ‘SaveAs’ method of workbook object.

VBA SaveAS Workbook – Syntax

Here is the syntax to SaveAs workbook using VBA.

Workbooks(“Your Workbook Name”).SaveAs(

[Filename], [FileFormat], [Password], [WriteResPassword], [ReadOnlyRecommended], [CreateBackup], [AccessMode As XlSaveAsAccessMode = xlNoChange], [ConflictResolution], [AddToMru], [TextCodepage], [TextVisualLayout], [Local])

In the above syntax we are using ‘SaveAs’ method of workbook object to save the workbook in another location with modification(s).

VBA SaveAS Workbook:Example 1

Please find the below example, It will show you how to do saveas workbook.

Sub SaveAs_Workbook()
Dim Wkb As Workbook
Set Wkb = Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\Sample.xlsm" 
End Sub

Explanation: In the above example we have created variable named Wkb in the first statement. We have used ‘Add’ method of workbook object to add new workbook and then assigned it to object named Wkb in the second statement. At last in the third statement we have used ‘SaveAs’ method of workbook object to save workbook in another location and the file name is “C:\Sample.xlsm” (You can change the file name according to your wish).

VBA SaveAS 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.

One Comment

  1. Tommaso August 18, 2016 at 6:35 PM - Reply


    I am trying to combine the :
    strFileToOpen = Application.GetOpenFilename
    Workbooks.Open Filename:=strFileToOpen

    with a SaveAs function. I need it becuase I am trying to create a Macro where I need to open a file that is not always named in the same way, have the macro save it with a standard name, for example: Test Sample, and have the macro work on it. The Macro should take the infomartion needed from this file and report it on the main file where the Macro is running. Finally the Macro should delete the “Test Sample” file and save the file where the Macro is running with a new name.

    I hope this makes sense enough for you to understand what I am struggling with!


Leave A Comment

Related pages

merging sheets in excelvba function leftexcel if statement equalshow to color excel cellsdynamic graph in excelexcel vba range sortusing excel lookupexcel count duplicatesvba activex controlsmicrosoft excel chart tutorialvlookup using vbamacro to insert blank rows in excelexcel macro to delete blank rowshow to expand rows in excelhow to develop macros in excelexcel cells vbaisnumber excelinsert check mark in excel 2007active x control excelexcel 2007 record macrolookup vba excelexcel function substituteproject tracker template excel freehow to unhide sheets in excel 2007excel vba sqlvba delete file in foldervb scripting interview questions and answers pdfspotfire script examplesdefine vlookupcool vbs codesaverage function in excel 2010vba msgbox new linemeeting minutes template word 2010merge two columns in excel 2010how to do a pivot table in excel 2010highlight duplicates excel 2010use sumif in excelprotect sheet excel vbavlookup usagedashboard using excelinstr vbams excel shortcut keys formulasvba font colourinterview questions on vbexcel macro display messagemeaning of vlookup and hlookupcountif excel vbahow to use nested if function in excel 2010free excel formulas with examples in excel sheethow to unmerge cellssql update vbavba getrowshow to unprotect excel sheet without password 2010open excel file from access vbaspss sqllink sql to excelcopy data from multiple worksheets into onevba progress bar examplesorting in sqlexcel 2010 delete blank rowsvba userform closepassword protect excel workbookvba excel userform comboboxquestions for interview for freshershow to remove blank columns in excelconnect excel to oracle databaseif functions in excel 2007syntax for sql commandshow to merge to rows in excelexcel vba counta functionvba line feed characterexcel vba switchvba code to read excel file