Em xin hỏi cách in hàng loạt

Liên hệ QC

chothadiem

Thành viên hoạt động
Tham gia
29/10/18
Bài viết
188
Được thích
50
Em có file hợp đồng lao động, danh mục nhân viên hợp đồng nằm ở sheet " DMNV"
Giờ em muốn in liên tục các sheet " HDLD" , sheet"PLHD", sheet"CKAT", sheet"BCK" theo số thứ tự từ 1 đến 41 trong sheet "DMNV"
Các anh chị cho em hỏi làm thế nào để in theo cách trên.
Em xin cảm ơn ạ!
331313.png
 

File đính kèm

  • Hop Dong lao dong.xlsx
    183.1 KB · Đọc: 17
Em có file hợp đồng lao động, danh mục nhân viên hợp đồng nằm ở sheet " DMNV"
Giờ em muốn in liên tục các sheet " HDLD" , sheet"PLHD", sheet"CKAT", sheet"BCK" theo số thứ tự từ 1 đến 41 trong sheet "DMNV"
Các anh chị cho em hỏi làm thế nào để in theo cách trên.
Em xin cảm ơn ạ!
Bạn thử với Sub này coi sao chứ tôi không dám thử (Hao giấy quá).
PHP:
Public Sub Gpe_InHangLoat()
Dim sArr(), Ws, I As Long, J As Long, R As Long, TT As String
Ws = Array("HDLD", "PLHD", "CKAT", "CK02")
sArr = Sheets("DMNV").Range("A5", Sheets("DMNV").Range("A5").End(xlDown)).Value
R = UBound(sArr)
For I = 1 To R
    TT = sArr(I, 1)
    For J = LBound(Ws) To UBound(Ws)
        Sheets(Ws(J)).Range("AT1").Value = TT
        Sheets(Ws(J)).PrintOut
    Next J
Next I
End Sub
 
Upvote 0
Bạn thử với Sub này coi sao chứ tôi không dám thử (Hao giấy quá).
PHP:
Public Sub Gpe_InHangLoat()
Dim sArr(), Ws, I As Long, J As Long, R As Long, TT As String
Ws = Array("HDLD", "PLHD", "CKAT", "CK02")
sArr = Sheets("DMNV").Range("A5", Sheets("DMNV").Range("A5").End(xlDown)).Value
R = UBound(sArr)
For I = 1 To R
    TT = sArr(I, 1)
    For J = LBound(Ws) To UBound(Ws)
        Sheets(Ws(J)).Range("AT1").Value = TT
        Sheets(Ws(J)).PrintOut
    Next J
Next I
End Sub
Dạ! em cám ơn Thầy!, chúc Thầy cuối tuần vui vẻ và nhiều niềm vui.
 
Upvote 0
Bạn thử với Sub này coi sao chứ tôi không dám thử (Hao giấy quá).
PHP:
Public Sub Gpe_InHangLoat()
Dim sArr(), Ws, I As Long, J As Long, R As Long, TT As String
Ws = Array("HDLD", "PLHD", "CKAT", "CK02")
sArr = Sheets("DMNV").Range("A5", Sheets("DMNV").Range("A5").End(xlDown)).Value
R = UBound(sArr)
For I = 1 To R
    TT = sArr(I, 1)
    For J = LBound(Ws) To UBound(Ws)
        Sheets(Ws(J)).Range("AT1").Value = TT
        Sheets(Ws(J)).PrintOut
    Next J
Next I
End Sub
Thầy ơi, em xin phép làm phiền thầy chút xíu nữa ạ!
Em muốn in từ số 1 đến số 3 hay số nào đó thì làm thế nào à, đoạn code thầy giúp em là in tất cả các số thứ tự có trong Sheets("DMNV")
Có cách nào để xuất hiện ( ví dụ xuất hiện from như hình em đăng dưới để khi in từ số thứ tự này đến số thứ tự nào đó không ạ?).
Thầy làm ơn giúp em nhé! em mới học excel nên còn nhiều cái chưa biết.
Em cảm ơn thầy.
ret.png
 
Upvote 0
copy đoạn code vào Command button Print

Private Sub CommandButton1_Click()

Dim sArr(), Ws, I As Long, J As Long, R As Long, TT As String
Ws = Array("HDLD", "PLHD", "CKAT", "CK02")
sArr = Sheets("DMNV").Range("A5", Sheets("DMNV").Range("A5").End(xlDown)).Value
R = UBound(sArr)

Dim SoBatDau, SoKetThuc As Long

SoBatDau = TextBox1.Text 'so bat dau
SoKetThuc = TextBox2.Text 'so ket thuc

'
If SoBatDau >= 1 And SoBatDau <= R And SoKetThuc >= 1 And SoKetThuc <= R And SoBatDau <= SoKetThuc Then

For I = SoBatDau To SoKetThuc
TT = sArr(I, 1)
For J = LBound(Ws) To UBound(Ws)
Sheets(Ws(J)).Range("AT1").Value = TT
Sheets(Ws(J)).PrintOut
Next J
Next I
Else
MsgBox (" Nhap lai so thu tu in.")
Exit Sub
End If

End Sub
 
Upvote 0
copy đoạn code vào Command button Print

Private Sub CommandButton1_Click()

Dim sArr(), Ws, I As Long, J As Long, R As Long, TT As String
Ws = Array("HDLD", "PLHD", "CKAT", "CK02")
sArr = Sheets("DMNV").Range("A5", Sheets("DMNV").Range("A5").End(xlDown)).Value
R = UBound(sArr)

Dim SoBatDau, SoKetThuc As Long

SoBatDau = TextBox1.Text 'so bat dau
SoKetThuc = TextBox2.Text 'so ket thuc

'
If SoBatDau >= 1 And SoBatDau <= R And SoKetThuc >= 1 And SoKetThuc <= R And SoBatDau <= SoKetThuc Then

For I = SoBatDau To SoKetThuc
TT = sArr(I, 1)
For J = LBound(Ws) To UBound(Ws)
Sheets(Ws(J)).Range("AT1").Value = TT
Sheets(Ws(J)).PrintOut
Next J
Next I
Else
MsgBox (" Nhap lai so thu tu in.")
Exit Sub
End If

End Sub
Em cám ơn ạ!
Em có coppy đoạn code và chạy đoạn code đó thấy báo lỗi
Anh (chị ) giúp em ạ! em cám ơn.
wd.pngrewwwere.png
 
Lần chỉnh sửa cuối:
Upvote 0
xem file nhé, lưu file dạng *.xlsm nhe
 

File đính kèm

  • Hop Dong lao dong.xlsm
    197.2 KB · Đọc: 22
Upvote 0
Chọn lại vùng in A2:A77 để không in trang trống; sửa lại 2 câu lệnh sau để tránh lỗi nhập vào không phải là số
Mã:
SoBatDau = IsNumeric(TextBox1.Text)  'so bat dau
SoKetThuc = IsNumeric(TextBox2.Text)  'so ket thuc
 
Upvote 0
Chọn lại vùng in A2:A77 để không in trang trống; sửa lại 2 câu lệnh sau để tránh lỗi nhập vào không phải là số
Mã:
SoBatDau = IsNumeric(TextBox1.Text)  'so bat dau
SoKetThuc = IsNumeric(TextBox2.Text)  'so ket thucCODE][/QUOTE]
[ATTACH=full]207522[/ATTACH]
Trước em in cũng chọn vùng in ạ! nhưng vẫn cứ bị thừa 2 trang trắng số 03 và 04.
Vâng em có sửa lại đoạn code như hướng dẫn ở bài #11 và khi in thì báo như sau ạ!
 

File đính kèm

  • 5454.png
    5454.png
    77.9 KB · Đọc: 9
Lần chỉnh sửa cuối:
Upvote 0
Bạn chọn lại vùng in, chọn vùng in trống nên in ra co trang trắng(mình in thử không bị lỗi trang trắng nên không biết bị lỗi ở đâu), sửa lại code
Mã:
Private Sub CommandButton1_Click()

Dim sArr(), Ws, I As Long, J As Long, R As Long, TT As String
Ws = Array("HDLD", "PLHD", "CKAT", "CK02")
sArr = Sheets("DMNV").Range("A5", Sheets("DMNV").Range("A5").End(xlDown)).Value
R = UBound(sArr)

Dim SoBatDau, SoKetThuc
SoBatDau = TextBox1.Text
SoKetThuc = TextBox2.Text
If IsNumeric(SoBatDau) = True And IsNumeric(SoKetThuc) = True Then

            If SoBatDau >= 1 And SoBatDau <= R And SoKetThuc >= 1 And SoKetThuc <= R And SoBatDau <= SoKetThuc Then
            
                    For I = SoBatDau To SoKetThuc
                        TT = sArr(I, 1)
                        For J = LBound(Ws) To UBound(Ws)
                            Sheets(Ws(J)).Range("AT1").Value = TT
                            Sheets(Ws(J)).PrintOut
                            UserForm1.Hide
                            Unload Me
            
                        Next J
                    Next I
            Else
                MsgBox (" Nhap lai so thu tu in.")
                Exit Sub
            End If
Else
    MsgBox (" Nhap lai so thu tu in.")
    Exit Sub
End If
End Sub
 
Upvote 0
Bạn chọn lại vùng in, chọn vùng in trống nên in ra co trang trắng(mình in thử không bị lỗi trang trắng nên không biết bị lỗi ở đâu), sửa lại code
Mã:
Private Sub CommandButton1_Click()

Dim sArr(), Ws, I As Long, J As Long, R As Long, TT As String
Ws = Array("HDLD", "PLHD", "CKAT", "CK02")
sArr = Sheets("DMNV").Range("A5", Sheets("DMNV").Range("A5").End(xlDown)).Value
R = UBound(sArr)

Dim SoBatDau, SoKetThuc
SoBatDau = TextBox1.Text
SoKetThuc = TextBox2.Text
If IsNumeric(SoBatDau) = True And IsNumeric(SoKetThuc) = True Then

            If SoBatDau >= 1 And SoBatDau <= R And SoKetThuc >= 1 And SoKetThuc <= R And SoBatDau <= SoKetThuc Then
           
                    For I = SoBatDau To SoKetThuc
                        TT = sArr(I, 1)
                        For J = LBound(Ws) To UBound(Ws)
                            Sheets(Ws(J)).Range("AT1").Value = TT
                            Sheets(Ws(J)).PrintOut
                            UserForm1.Hide
                            Unload Me
           
                        Next J
                    Next I
            Else
                MsgBox (" Nhap lai so thu tu in.")
                Exit Sub
            End If
Else
    MsgBox (" Nhap lai so thu tu in.")
    Exit Sub
End If
End Sub
Dạ! được rồi ạ! em cám ơn nhiều!
 
Upvote 0
Không có gì, mình tự học trên diễn đàn thôi, nên tìm trên diễn đàn trước khi hỏi.
 
Upvote 0
Web KT
Back
Top Bottom