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

excel vba last rowvba logical operatorsexcel if cell contains numberddl and dml commands in sql with examplesjob costing excelconcatenate excel functionvb6 combo boxexcel combine duplicate rowsunhide cells in excelhow to consolidate two excel spreadsheets into oneexcel 2010 password protectvba tutorial for excelexcel vba message boxuserform propertieshow to use sum if in excelprotect workbook in excel 2007excel protect workbookpastespecial vbauserform propertiesinterview excel test samplecombine multiple worksheets into one excelexcel sheets examplesexcel 2007 concatenatehow to do multiple if statements in excelodbc vbavba text boxexcel loop macromacro loop excelvba loop examplesauto run macro excelhow to find duplicate numbers in excel 2007macro to delete columnsexcel looking for duplicatesmacro to unlock excel workbookpivot chart excel 2010 tutorialpl sql for dummiesextract data from excel using vbaexcel advanced vlookupvba count rowshow to create a checkbox in excelvba hide columnshow to add drop down list in excel 2007close userform in excel vbaexcel as database vbarange vba excelvlookup in excel 2010 exampleexcel contains stringms access vba export to excelhow to create a macro in excelexcel vba strexcel vba removevba save as xlsmformula to remove special characters in exceldelete macro in excelcreate a userform in excelusing sumif exceldisplay alert vbaexcel vba application.getsaveasfilenameexcel password remover macrohlookup excel examplehow to connect sql to excelvbscript msgbox examplesexcel vba activecellconditional statement in vbweekly gantt chart excelpowerpoint meeting agenda templatevba excel switchexcel consolidate data from multiple sheetsdefine workbook and worksheethow do i get rid of duplicates in excelhow to remove excel sheet password