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

chothadiem

Thành viên hoạt động
Tham gia ngày
29 Tháng mười 2018
Bài viết
160
Được thích
31
Điểm
170
Tuổi
33
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

Ba Tê

Gội Rồi Mới Cạo
Tham gia ngày
5 Tháng năm 2009
Bài viết
11,476
Được thích
16,382
Điểm
1,860
Tuổi
61
Nơi ở
An Giang
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
 

chothadiem

Thành viên hoạt động
Tham gia ngày
29 Tháng mười 2018
Bài viết
160
Được thích
31
Điểm
170
Tuổi
33
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.
 

chothadiem

Thành viên hoạt động
Tham gia ngày
29 Tháng mười 2018
Bài viết
160
Được thích
31
Điểm
170
Tuổi
33
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
 

tech456

Thành viên mới
Tham gia ngày
7 Tháng ba 2010
Bài viết
11
Được thích
7
Điểm
365
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
 

chothadiem

Thành viên hoạt động
Tham gia ngày
29 Tháng mười 2018
Bài viết
160
Được thích
31
Điểm
170
Tuổi
33
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:

tech456

Thành viên mới
Tham gia ngày
7 Tháng ba 2010
Bài viết
11
Được thích
7
Điểm
365
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
 

chothadiem

Thành viên hoạt động
Tham gia ngày
29 Tháng mười 2018
Bài viết
160
Được thích
31
Điểm
170
Tuổi
33
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

Lần chỉnh sửa cuối:

tech456

Thành viên mới
Tham gia ngày
7 Tháng ba 2010
Bài viết
11
Được thích
7
Điểm
365
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
 

chothadiem

Thành viên hoạt động
Tham gia ngày
29 Tháng mười 2018
Bài viết
160
Được thích
31
Điểm
170
Tuổi
33
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!
 
Top Bottom