Cần Sửa giúp Code VBA để in nhiều Sheet

Tiểu Bảo

Yêu THVBA
Em có file dữ liệu cọc với code In tự động nhưng chỉ được 1 sheet Bìa (Sheet 3), vậy xin các Anh/chị giúp em chèn thêm code để có thể in 4 sheet : Bìa, Nhật ký cọc, Đổ Bê tông, BBLM (sheet 3,4,5,6,7) trong 1 lần in với ạ.
Code trong file excel như sau: (sheet 3 là Bìa, sheet4 là nhật ký cọc, sheet5 là ...)
Mã:
Sub print_td()
Dim p1 As Long, p2 As Long, n As Long, i As Long, j As Long
p1 = Sheet3.Range("N1").Value
p2 = Sheet3.Range("N2").Value
n = Sheet3.Range("N4").Value 'so bo can in
For j = 1 To n
  For i = p1 To p2
    Sheet3.Range("N3").Value = i
    'Sheet3.PrintOut
    Sheet3.PrintOut
  Next i
Next j
 
End Sub
Link file GG:
 

admin

Administrator
Thành viên BQT
Bài viết rất chuyên nghiệp, lại còn có file demo. Đây cũng là chủ đề tôi quan tâm. Rất mong anh chị em có kiến thức chia sẻ.
 
Em có file dữ liệu cọc với code In tự động nhưng chỉ được 1 sheet Bìa (Sheet 3), vậy xin các Anh/chị giúp em chèn thêm code để có thể in 4 sheet : Bìa, Nhật ký cọc, Đổ Bê tông, BBLM (sheet 3,4,5,6,7) trong 1 lần in với ạ.
Code trong file excel như sau: (sheet 3 là Bìa, sheet4 là nhật ký cọc, sheet5 là ...)
Mã:
Sub print_td()
Dim p1 As Long, p2 As Long, n As Long, i As Long, j As Long
p1 = Sheet3.Range("N1").Value
p2 = Sheet3.Range("N2").Value
n = Sheet3.Range("N4").Value 'so bo can in
For j = 1 To n
  For i = p1 To p2
    Sheet3.Range("N3").Value = i
    'Sheet3.PrintOut
    Sheet3.PrintOut
  Next i
Next j

End Sub
Link file GG:
bạn thử này xem!
Mã:
Sub print_td()
   
    Dim i As Integer
   
    For i = 3 To 7 ' lap tu 3 den 7 de lay sheet3 den sheet7
   
    Sheets(i).PrintOut From:=Sheet3.Range("N1").Value, To:=Sheet3.Range("N2").Value, Copies:=Sheet3.Range("N4").Value
   
    Next i
   
End Sub
 
Sửa lần cuối:

Tiểu Bảo

Yêu THVBA
bạn thử này xem!
Mã:
Sub print_td()
   
    Dim i As Integer
   
    For i = 3 To 7 ' lap tu 3 den 7 de lay sheet3 den sheet7
   
    Sheet(i).PrintOut From:=Sheet3.Range("N1").Value, To:=Sheet3.Range("N2").Value, Copies:=Sheet3.Range("N4").Value
   
    Next i
   
End Sub
Cảm ơn anh đã trả lời!
Code VBA em ko rành lắm nên anh có thể sửa trực tiếp bảng code của em ko ạ?
" For i = 3 To 7 ' lap tu 3 den 7 de lay sheet3 den sheet7" là lập như nào ạ? xin anh chỉ giúp!
 

tuhocvba

Administrator
Thành viên BQT
Quan điểm là không làm thay. Chỉ dẫn tới đây là đủ rồi. Bạn không có kiến thức VBA thì bạn phải học, không có cách nào khác.
Bạn có thể bỏ tiền ra thuê người khác code. Bạn cũng có thể lên trang giaiphapexcel nhờ giúp với giá 0 đồng. Họ hỗ trợ rất nhanh.
 
Sao mình không thấy bài viết chuyên nghiệp chỗ nào vậy nhỉ.
p1 là gì.
p2 là gì.
n là gì.
Quẳng đoạn code lên bắt người đọc phải đoán hay sao?
Câu lệnh dòng số 8 mục đích là làm gì?
Mã:
Sheet3.Range("N3").Value = i
Với một bài viết trình bày như thế này không thể nói là chuyên nghiệp. Và vì vậy cũng không thể đòi hỏi người giúp đưa ra được đúng thứ mà chủ topic cần. Đọc topic này tôi không thấy thu hoạch được kiến thức gì.
 

Tiểu Bảo

Yêu THVBA
Sao mình không thấy bài viết chuyên nghiệp chỗ nào vậy nhỉ.
p1 là gì.
p2 là gì.
n là gì.
Quẳng đoạn code lên bắt người đọc phải đoán hay sao?
Câu lệnh dòng số 8 mục đích là làm gì?
Mã:
Sheet3.Range("N3").Value = i
Với một bài viết trình bày như thế này không thể nói là chuyên nghiệp. Và vì vậy cũng không thể đòi hỏi người giúp đưa ra được đúng thứ mà chủ topic cần. Đọc topic này tôi không thấy thu hoạch được kiến thức gì.
cảm ơn anh đã xem qua bài viết ạ!
VBA em ko rành, chỉ dựa sẵn code ae khác viết theo thôi ạ, em ko định nghĩa được cái anh hỏi ở trên là như nào nên em ko trả lời được! Thanks!
 
Top