Chu Hoa
Chu Hoa
Thảo luận 17 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 364 lượt xem

Tôi muốn về câu 21 chương 9 khi ấn nút in phiếu lương vba báo lỗi debug

Tôi muốn hỏi về câu 21 chương 9: khi ấn nút in phiếu lương, vba báo lỗi debug và hiện bôi vàng câu lệnh:

 xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFile, Quality:=xlQualityStandard

Làm thế nào để sửa lỗi này?  Cám ơn


Thảo luận 17 câu trả lời
Lượt xem 364 lượt xem
Vỗ tay vỗ tay
Chu Hoa 15:06 - Jun 28, 2021

ExportAsFixedFormat Type:=xlTypePDF, fileName:= xFile&".Pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Chào bạn bạn thử với cú pháp sau nhé.

Vỗ tay vỗ tay
Chu Hoa 15:06 - Jun 28, 2021

Vẫn không chạy được. Máy  báo lỗi: Compile error: Syntax error

Vỗ tay vỗ tay
Chu Hoa 15:06 - Jun 28, 2021

Chào bạn bạn gửi file của bạn lên giúp gitiho được không?

Vỗ tay vỗ tay
Chu Hoa 15:06 - Jun 28, 2021
Tôi có thể gửi về hòm thư nào? 
Vỗ tay vỗ tay
Chu Hoa 15:06 - Jun 28, 2021

Chào bạn bạn đẩy lên google drive rồi cho gitiho xin link nhé.

Vỗ tay vỗ tay
Chu Hoa 15:06 - Jun 28, 2021

https://drive.google.com/file/d/1Qsv7...

Làm ơn kiểm tra giúp link trên. Cám ơn

Vỗ tay vỗ tay
Chu Hoa 16:06 - Jun 28, 2021

Chào bạn file bạn gửi đâu có code đâu

Vỗ tay vỗ tay
Chu Hoa 16:06 - Jun 28, 2021

Xin lỗi, bạn kiểm tra lại cái sau có được không https://drive.google.com/file/d/1ZEZn...

Vỗ tay vỗ tay
Chu Hoa 16:06 - Jun 28, 2021

Chào bạn file có code là file chứa định dạng là *.xlsm, *.xlsb hoặc *.xls

Vỗ tay vỗ tay
Chu Hoa 17:06 - Jun 28, 2021

File của tôi là .xlsx. Tôi dùng Office 365

Vỗ tay vỗ tay
Chu Hoa 18:06 - Jun 28, 2021

Chào bạn xlsx không lưu được code bạn nhé.

Vỗ tay vỗ tay
Chu Hoa 18:06 - Jun 28, 2021

Tôi đã lưu file lại .xls https://drive.google.com/file/d/16VFr...

Vỗ tay vỗ tay
Chu Hoa 08:06 - Jun 29, 2021

Chào bạn bạn dán vào sub in nhé

Sub In_PhieuLuong()
    Dim DongBD As Long, DongCuoi As Long, i As Long
        DongBD = 10
        DongCuoi = Sheets("BangLuong").Range("B" & Rows.Count).End(xlUp).Row
    
    Dim xSht As Worksheet
    Dim xFileDlg As Variant, xFolder As Variant
    Dim xFile  As String
    
    Set xSht = ActiveSheet
    Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
     
    If xFileDlg.Show = True Then
       xFolder = xFileDlg.SelectedItems(1)
    Else
       MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
       Exit Sub
    End If
    
    Application.ScreenUpdating = False
    For i = DongBD To DongCuoi
        If Sheets("BangLuong").Range("B" & i) <> "" Then
            xSht.Range("E7").Value = Sheets("BangLuong").Range("B" & i).Value
        End If
        
        xFile = xFolder + "\" + xSht.Range("E7").Value + ".pdf"
        
        'Check if file already exist
        If Len(Dir(xFile)) > 0 Then
            xYesorNo = MsgBox(xFile & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                              vbYesNo + vbQuestion, "File Exists")
            On Error Resume Next
            If xYesorNo = vbYes Then
                Kill xFile
            Else
                MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                            & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
                Exit Sub
            End If
            If Err.Number <> 0 Then
                MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                            & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
                Exit Sub
            End If
        End If
         
        Set xUsedRng = xSht.Range("B2:H42")
        If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
            'Save as PDF file
              xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFile, Quality:=xlQualityStandard
        Else
          MsgBox "The active worksheet cannot be blank"
          Exit Sub
        End If
    Next i
    Application.ScreenUpdating = True
    
        
    MsgBox "Well Done!"
    
End Sub
Bạn lưu file các định dạng sau *.xlsb, *.xlsm nhé.
Vỗ tay vỗ tay
Chu Hoa 11:06 - Jun 29, 2021

Tôi xuất được phiếu lương 1 loạt ra pdf, nhưng mỗi phiếu đều in ra 7 trang, có cả nội dung viết code VBA và 1 phần sheet bảng lương và trang trắng đan xen.

Vỗ tay vỗ tay
Chu Hoa 11:06 - Jun 29, 2021

Chào bạn bạn đặt lại vùng in và thử lại nhé.

Vỗ tay vỗ tay
Chu Hoa 21:10 - Oct 26, 2021

thầy cho em hỏi nếu Phiếu lương mỗi công ty lập ra mõi khác.

Ví dụ: phiếu lập theo chiều ngang và không có nội dung về thử việc thì liệu Macro này có áp dụng được không ạ ?

Vỗ tay vỗ tay
Chu Hoa 09:10 - Oct 27, 2021

Chào bạn bạn chỉ cần thay đổi vùng in là xong nhé.

Vỗ tay vỗ tay
Câu hỏi liên quan
@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội