Excel Personal workbook macro to save as pdf in current directory

account_circle Unassigned
schedule 3 Days
account_balance_wallet $5

Excel Personal workbook macro to save as pdf in current directory

I want to record macro in personal workbook for the following.

1. Activate Book1.xlsx
2. Select sheets Sheet3, Sheet4 and Sheet6
3. Save these selected sheets as .pdf in the same directory where Book1.xls is saved
4. Name of the saved .pdf file should be the name what is written in Range A1 of Sheet1 of Book1.xlsx and suffix "20" after the name

Please provide the macro code for the same.

Thank you.

Mar 22nd, 2018

Thank you for the opportunity to help you with your question!

Put this code in the personal workbook:

Sub SaveBook1_AsPDF()
'workbook Book1.xlsx must already be open
'and it must have already been saved to disk
'so that it contains file path information as
'part of its name.
'That workbook must have sheets named
'Sheet1, Sheet3, Sheet4 and Sheet6 in it.
'Sheet1 must have a valid filename in cell A1.
  Dim FilePath As String
  Dim NewName As String
  FilePath = Left(ActiveWorkbook.FullName, _
  InStrRev(ActiveWorkbook.FullName, Application.PathSeparator))
  NewName = ActiveWorkbook.Worksheets("Sheet1").Range("A1")
  Sheets(Array("Sheet3", "Sheet4", "Sheet6")).Select
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  FilePath & NewName & ".pdf", Quality:=xlQualityStandard, _
  IncludeDocProperties:=True, IgnorePrintAreas:=False, _
End Sub

[Edit] I didn't code in the addition of the 20 suffix in the name above, you could accomplish that by changing one line of the code above like this:

  NewName = ActiveWorkbook.Worksheets("Sheet1").Range("A1") & "20"

Please let me know if you need any clarification. I'm always happy to answer your questions.
Jun 13th, 2015

Did you know? You can earn $20 for every friend you invite to Studypool!
Click here to
Refer a Friend
Mar 22nd, 2018
Mar 22nd, 2018
Mar 23rd, 2018
Mark as Final Answer
Unmark as Final Answer
Final Answer

Secure Information

Content will be erased after question is completed.

Final Answer