CODE
Sub SaveSheetsAsPDF_PrintArea()
Dim ws As Worksheet
Dim pdfFolder As String
Dim fileName As String
Dim baseName As String
Dim sheetCount As Integer
Dim sheetIndex As Integer
Dim pdfFileName As String
Dim wb As Workbook
' T?t c?nh báo và c?p nh?t màn hình d? tránh nh?p nháy
Application.DisplayAlerts = False
Application.ScreenUpdating = False
' Ch?n file ngu?i dùng m?
Set wb = Application.ActiveWorkbook
' L?y tên file g?c
fileName = wb.Name
baseName = Left(fileName, 13) ' L?y 13 ký t? d?u tiên
' L?y thu m?c file hi?n t?i
pdfFolder = wb.Path
If pdfFolder = "" Then pdfFolder = Environ("USERPROFILE") & "\Documents"
' N?u thu m?c không t?n t?i, thoát
If Dir(pdfFolder, vbDirectory) = "" Then Exit Sub
' Ð?m s? sheet
sheetCount = wb.Sheets.Count
' L?p qua t?ng sheet
For sheetIndex = 1 To sheetCount
Set ws = wb.Sheets(sheetIndex)
' B? qua sheet n?u không có d? li?u
If ws.UsedRange.Cells.Count = 1 And ws.UsedRange.Cells(1, 1).Value = "" Then GoTo NextSheet
' Ki?m tra vùng in
If ws.PageSetup.PrintArea <> "" Then
ws.PageSetup.Zoom = False
ws.PageSetup.FitToPagesWide = 1
ws.PageSetup.FitToPagesTall = 1
End If
' T?o tên file PDF
pdfFileName = pdfFolder & "\" & baseName & "-" & Format(sheetIndex, "00") & ".pdf"
' Ki?m tra n?u tên file quá dài
If Len(pdfFileName) > 255 Then pdfFileName = Left(pdfFileName, 250) & ".pdf"
' Xu?t PDF
On Error Resume Next
ws.ExportAsFixedFormat Type:=xlTypePDF, fileName:=pdfFileName, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Err.Clear
On Error GoTo 0
NextSheet:
Next sheetIndex
' B?t l?i c?nh báo và c?p nh?t màn hình
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
B1 : Vào View -> Record
B2: Copy tên function trong code bên trên và dán vào ‘Macro name’
B3: Gõ chữ phím tắt để vào ‘shortcut key’ ví dụ là Q
B4: Chọn vào option Personal Macro Workbook và bấm OK
B5: Vào lại View ->Macro ->Stop Record
B6: Bấm phím ALT + F11
B7: Bấm chuột trái vào VBA Project(Personal.XLSB) -> Insert -> Module
B8: Copy code dán vào và lưu lại , xong rồi thì thoát ra
B9: Vào View -> View record. Chọn dòng thứ 2 rồi bấm vào Options và điền phím tắt vào , xong bấm OK LÀ XONG @!
B10: Bây giờ bấm CTRL + SHIFT +Q là tự động chuyển qua pdf rồi đó !!!!!!!!