Giúp đỡ chèn code tự động giãn dòng ô Merge vào code in tự động

Liên hệ QC

uyenluv

Thành viên mới
Tham gia
20/3/17
Bài viết
10
Được thích
1
Chào các anh chị,

Em có một file excel mày mò chèn code in tự động, em search và copy code chứ cũng không hiểu (file đính kèm). Hiện còn vướng ở đoạn giãn dòng ô Merge (dòng 132 và dòng 154),

Nhờ các anh chị chèn giúp code giãn dòng vào code in tự động giúp em,

Em xin cảm ơn rất nhiều ạ!!
 

File đính kèm

  • Nghiem thu.xlsm
    188.9 KB · Đọc: 26
Chào các anh chị,

Em có một file excel mày mò chèn code in tự động, em search và copy code chứ cũng không hiểu (file đính kèm). Hiện còn vướng ở đoạn giãn dòng ô Merge (dòng 132 và dòng 154),

Nhờ các anh chị chèn giúp code giãn dòng vào code in tự động giúp em,

Em xin cảm ơn rất nhiều ạ!!
Bạn nhận lại File xem đã ưng cái bụng phần nào chưa vì : "Code đi cop về chạy chậm - và nó thích nhảy Vacino" - Đã nhờ các thầy xem khắc phục nhưng không được
 

File đính kèm

  • Nghiem thu.xlsm
    201.7 KB · Đọc: 29
Upvote 0
Chào các anh chị,

Em có một file excel mày mò chèn code in tự động, em search và copy code chứ cũng không hiểu (file đính kèm). Hiện còn vướng ở đoạn giãn dòng ô Merge (dòng 132 và dòng 154),

Nhờ các anh chị chèn giúp code giãn dòng vào code in tự động giúp em,

Em xin cảm ơn rất nhiều ạ!!
Thử lại File này - nhanh hơn đôi chút và không bị giật.
 

File đính kèm

  • Nghiem thu.xlsm
    201.1 KB · Đọc: 23
Upvote 0
Chào các anh chị,

Em có một file excel mày mò chèn code in tự động, em search và copy code chứ cũng không hiểu (file đính kèm). Hiện còn vướng ở đoạn giãn dòng ô Merge (dòng 132 và dòng 154),

Nhờ các anh chị chèn giúp code giãn dòng vào code in tự động giúp em,

Em xin cảm ơn rất nhiều ạ!!
Đã chèn code giãn dòng vào code in.

Cách dùng: Các dòng có dữ liệu bị thay đổi (tức số lượng chữ không cố định, cần giãn, co dòng cho phù hợp) thì bạn cho font chữ màu đỏ. Làm vậy để code chạy cho nhanh, không làm thừa với các dòng không cần thiết.
 

File đính kèm

  • Nghiem thu.xlsm
    193 KB · Đọc: 52
Upvote 0
Cảm ơn bạn @le_vis@Maika8008 rất nhiều, hiện tại mình đang theo cách làm 1 cột phụ bên ngoài có chiều dài bằng ô merge và sử dụng code autofit. Cho mình hỏi mình đang vướng chỗ in các sheet hàng loạt theo điều kiện. Ví dụ:
- Ở sheet "Main" cột R, nếu đặt dữ liệu là "Khung nhom vach thach cao" thì code sẽ chọn sheet "NTNB" + "YCNT" + "NTCV 3 ben" + "Khung nhom vach thach cao" in ra
- Ở sheet "Main" cột R, nếu đặt dữ liệu là "Khung sat" thì code sẽ chọn sheet "NTNB" + "YCNT" + "NTCV 3 ben" + "Khung sat" in ra
Nhờ bạn giúp đỡ code in này với ạ, vì mình in tự động hàng loạt biên bản, mỗi biên bản đính kèm 1 form checklist khác nhau

Cảm ơn các bạn rất nhiều, chúc các bạn một ngày vui vẻ!
 

File đính kèm

  • In hang loat sheet theo dieu kien.xlsm
    1.1 MB · Đọc: 16
Upvote 0
Cảm ơn bạn @le_vis@Maika8008 rất nhiều, hiện tại mình đang theo cách làm 1 cột phụ bên ngoài có chiều dài bằng ô merge và sử dụng code autofit. Cho mình hỏi mình đang vướng chỗ in các sheet hàng loạt theo điều kiện. Ví dụ:
- Ở sheet "Main" cột R, nếu đặt dữ liệu là "Khung nhom vach thach cao" thì code sẽ chọn sheet "NTNB" + "YCNT" + "NTCV 3 ben" + "Khung nhom vach thach cao" in ra
- Ở sheet "Main" cột R, nếu đặt dữ liệu là "Khung sat" thì code sẽ chọn sheet "NTNB" + "YCNT" + "NTCV 3 ben" + "Khung sat" in ra
Nhờ bạn giúp đỡ code in này với ạ, vì mình in tự động hàng loạt biên bản, mỗi biên bản đính kèm 1 form checklist khác nhau

Cảm ơn các bạn rất nhiều, chúc các bạn một ngày vui vẻ!
Tôi đoán là bạn dùng code này để in nên đã thêm mấy dòng chọn sheet để in ra (Bạn không nói Khung go vach thach cao nhưng tôi vẫn thêm, nếu không cần thì bạn xóa đi):
Rich (BB code):
Private Sub btnin_Click()
Dim i As Integer, Khung As String
    Khung = WorksheetFunction.Index(Sheet7.Range("R2:R443"), WorksheetFunction.Match(Sheet1.Range("K6"), Sheet7.Range("A2:A443"), 0), 1)
For i = txtR1.Text To txtR2.Text
    
    Range("K6").Value = i
    Sheet2.Rows("17:17").EntireRow.AutoFit
    Sheet2.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet1.Rows("12:12").EntireRow.AutoFit
    Sheet1.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet8.Rows("12:12").EntireRow.AutoFit
    Sheet8.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    If Khung = "Khung nhom vach thach cao" Then
        Sheet5.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung go vach thach cao" Then
        Sheet6.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung sat" Then
        Sheet4.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    End If
Next
End Sub
Bạn thêm gì trong ruột mấy cái If ... End If trước khi in ra (ví dụ Fit dòng) thì tùy bạn.
 
Upvote 0
Tôi đoán là bạn dùng code này để in nên đã thêm mấy dòng chọn sheet để in ra (Bạn không nói Khung go vach thach cao nhưng tôi vẫn thêm, nếu không cần thì bạn xóa đi):
Rich (BB code):
Private Sub btnin_Click()
Dim i As Integer, Khung As String
    Khung = WorksheetFunction.Index(Sheet7.Range("R2:R443"), WorksheetFunction.Match(Sheet1.Range("K6"), Sheet7.Range("A2:A443"), 0), 1)
For i = txtR1.Text To txtR2.Text
   
    Range("K6").Value = i
    Sheet2.Rows("17:17").EntireRow.AutoFit
    Sheet2.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet1.Rows("12:12").EntireRow.AutoFit
    Sheet1.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet8.Rows("12:12").EntireRow.AutoFit
    Sheet8.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    If Khung = "Khung nhom vach thach cao" Then
        Sheet5.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung go vach thach cao" Then
        Sheet6.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung sat" Then
        Sheet4.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    End If
Next
End Sub
Bạn thêm gì trong ruột mấy cái If ... End If trước khi in ra (ví dụ Fit dòng) thì tùy bạn.
Cảm ơn bạn @Maika8008. Mình có chèn code vào rồi tuy nhiên lúc in thì code chỉ in ra toàn bộ sheet đầu tiên ở ô R2 (stt 1 in sheet "Khung nhom vach thach cao", stt 2 cũng in "Khung nhom vach thach cao" chứ không phải in "Khung sat" như file đính kèm. Nhờ bạn xem lại giúp mình. Cảm ơn bạn rất nhiều
 

File đính kèm

  • In hang loat sheet theo dieu kien.xlsm
    1.1 MB · Đọc: 11
Upvote 0
Cảm ơn bạn @Maika8008. Mình có chèn code vào rồi tuy nhiên lúc in thì code chỉ in ra toàn bộ sheet đầu tiên ở ô R2 (stt 1 in sheet "Khung nhom vach thach cao", stt 2 cũng in "Khung nhom vach thach cao" chứ không phải in "Khung sat" như file đính kèm. Nhờ bạn xem lại giúp mình. Cảm ơn bạn rất nhiều
Tôi quên không cho Khung vào trong vòng lặp. Bạn thử lại:
Rich (BB code):
Private Sub btnin_Click()
Dim i As Integer, Khung As String
   
For i = txtR1.Text To txtR2.Text
   
    Range("K6").Value = i
    Khung = WorksheetFunction.Index(Sheet7.Range("R2:R443"), WorksheetFunction.Match(i, Sheet7.Range("A2:A443"), 0), 1)
    Sheet2.Rows("17:17").EntireRow.AutoFit
    Sheet2.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet1.Rows("12:12").EntireRow.AutoFit
    Sheet1.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet8.Rows("12:12").EntireRow.AutoFit
    Sheet8.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    If Khung = "Khung nhom vach thach cao" Then
        Sheet5.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung go vach thach cao" Then
        Sheet6.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung sat" Then
        Sheet4.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    End If
Next
End Sub
 
Upvote 0
Tôi quên không cho Khung vào trong vòng lặp. Bạn thử lại:
Rich (BB code):
Private Sub btnin_Click()
Dim i As Integer, Khung As String
  
For i = txtR1.Text To txtR2.Text
  
    Range("K6").Value = i
    Khung = WorksheetFunction.Index(Sheet7.Range("R2:R443"), WorksheetFunction.Match(i, Sheet7.Range("A2:A443"), 0), 1)
    Sheet2.Rows("17:17").EntireRow.AutoFit
    Sheet2.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet1.Rows("12:12").EntireRow.AutoFit
    Sheet1.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    Sheet8.Rows("12:12").EntireRow.AutoFit
    Sheet8.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    If Khung = "Khung nhom vach thach cao" Then
        Sheet5.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung go vach thach cao" Then
        Sheet6.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    ElseIf Khung = "Khung sat" Then
        Sheet4.PrintOut from:=txtP1.Text, to:=txtP2.Text, preview:=False
    End If
Next
End Sub
Code chạy được rồi bạn, cảm ơn bạn đã bỏ thời gian giúp mình. Chúc bạn và gia đình nhiều sức khỏe!
 
Upvote 0
@Maika8008 cho mình nhờ thêm cái này nữa. Mình muốn in theo stt ở ô K11 sheet NTNB. Vd : 1,3,4-7,10,12 thì sẽ in theo thứ tự 1, 3, từ 4 đến 7, 10, 12

thì đoạn code cho i chạy viết ntn vậy. Cảm ơn bạn!
 

File đính kèm

  • In hang loat sheet theo dieu kien.xlsm
    1.1 MB · Đọc: 15
Upvote 0
Hình như bạn nhầm (hay tôi nhầm nhỉ), chứ tôi đâu có viết code in cho bạn?
 
Upvote 0
Code in lần đầu mình viết, còn code in sheet theo điều kiện bạn viết sau, nhờ bạn giúp thêm đoạn code chỗ in theo thứ tự mong muốn. Cảm ơn bạn rất nhiều!
 
Upvote 0
Code in lần đầu mình viết, còn code in sheet theo điều kiện bạn viết sau, nhờ bạn giúp thêm đoạn code chỗ in theo thứ tự mong muốn. Cảm ơn bạn rất nhiều!
Giả sử lấy luôn ô K11 do bạn nhập làm tham số để in thì code như sau:
(Vòng vèo, nhảy tới nhảy lui chứ không đơn giản i từ A đến B đâu)
Rich (BB code):
Private Sub btnin_Click()
Dim i As Long, j As Long, Khung As String, arrBB, arrBB2
Dim chk As Boolean

arrBB = Split(Range("K11"), ",")
For i = 0 To UBound(arrBB)
    If InStr(1, arrBB(i), "-") = 0 Then
        Range("K6").Value = arrBB(i)
        Khung = WorksheetFunction.Index(Sheet7.Range("R2:R443"), WorksheetFunction.Match(CLng(arrBB(i)), Sheet7.Range("A2:A443"), 0), 1)
        GoTo InBB
    Else
        arrBB2 = Split(arrBB(i), "-")
        For j = CLng(arrBB2(0)) To CLng(arrBB2(1))
            Range("K6").Value = j
            Khung = WorksheetFunction.Index(Sheet7.Range("R2:R443"), WorksheetFunction.Match(j, Sheet7.Range("A2:A443"), 0), 1)
            chk = True
            GoTo InBB
VeJ:    Next j
    End If
InBB:   Sheet2.Rows("17:17").EntireRow.AutoFit
        Sheet2.PrintOut from:=txtP1.Text, To:=txtP2.Text, preview:=False
        Sheet1.Rows("12:12").EntireRow.AutoFit
        Sheet1.PrintOut from:=txtP1.Text, To:=txtP2.Text, preview:=False
        Sheet8.Rows("12:12").EntireRow.AutoFit
        Sheet8.PrintOut from:=txtP1.Text, To:=txtP2.Text, preview:=False
        If Khung = "Khung nhom vach thach cao" Then
            Sheet5.PrintOut from:=txtP1.Text, To:=txtP2.Text, preview:=False
        ElseIf Khung = "Khung go vach thach cao" Then
            Sheet6.PrintOut from:=txtP1.Text, To:=txtP2.Text, preview:=False
        ElseIf Khung = "Khung sat" Then
            Sheet4.PrintOut from:=txtP1.Text, To:=txtP2.Text, preview:=False
        End If
        If chk = True Then
            chk = False
            If j = CLng(arrBB2(1)) Then GoTo VeI Else: GoTo VeJ
        End If
VeI: Next i
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom