Hỏi: em xin code ngắt trang in trong 1 sheet khi gặp "1 đối tượng"

Liên hệ QC

nguyenthuy18287

Thành viên mới
Tham gia
7/2/20
Bài viết
3
Được thích
0
Dạ mọi người cho em xin code để khi mình bấm lệnh in thì:
VD: trong sheet này bao gồm 5 đoạn. Mỗi đoạn đều có kiểu như vầy:
Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam
Độc lập - Tự do - Hạnh phúc
.... Nội dung ....
Ký tên:
Nguyễn Văn A.
(Tên người ký mỗi trang khác nhau).

Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam
...........................................................
===> Vậy mọi người cho em xin cú pháp để làm sao khi in thì nó sẽ tự ngắt giúp trang in cho em => để in ra được 5 tờ giấy rời nhau.
Cách nhận biết chổ cần ngắt trang là: Dòng trên của dòng có chữ "Cộng Hòa".
- Em muốn hỏi có cách nào làm được như vậy không? em xin cảm ơn mọi người.
 
Dạ mọi người cho em xin code để khi mình bấm lệnh in thì:
VD: trong sheet này bao gồm 5 đoạn. Mỗi đoạn đều có kiểu như vầy:
Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam
Độc lập - Tự do - Hạnh phúc
.... Nội dung ....
Ký tên:
Nguyễn Văn A.
(Tên người ký mỗi trang khác nhau).

Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam
...........................................................
===> Vậy mọi người cho em xin cú pháp để làm sao khi in thì nó sẽ tự ngắt giúp trang in cho em => để in ra được 5 tờ giấy rời nhau.
Cách nhận biết chổ cần ngắt trang là: Dòng trên của dòng có chữ "Cộng Hòa".
- Em muốn hỏi có cách nào làm được như vậy không? em xin cảm ơn mọi người.
Đặt con trỏ ô tại ô đầu dòng có chữ "Cộng hòa ......" rồi
Page Layout / Break ... --> chọn Insert Page Break
Thế là khi in luôn có ngắt (break) trang tại vị trí muốn

Thử và tìm hiểu thêm sẽ hiểu ngay
 
Đặt con trỏ ô tại ô đầu dòng có chữ "Cộng hòa ......" rồi
Page Layout / Break ... --> chọn Insert Page Break
Thế là khi in luôn có ngắt (break) trang tại vị trí muốn

Thử và tìm hiểu thêm sẽ hiểu ngay
- Dạ em cám ơn anh. Theo cách anh chỉ là em hiểu là mình làm tay - và chèn các Page Break. Em làm thử và thấy đúng ý rồi.
- Nhưng mà có cách nào cho excel chèn tự động hoặc Code sao cho nhanh không anh?
- Do cái này là danh sách phát tiền (em mới vào làm thủ quỹ) - file chị KTT đưa cứ 1 sheet là 1 tháng. Mà trong 1 tháng đó phát cho 150 - 200 công là bình thường có tháng hơn 250 công. Em không biết chị làm sao ra các file này (không dám đưa lên do chị không cho) nhưng chị không chịu làm cách khác. Em có nhiệm vụ in ra - phát tiền - ký nhận với từng công.
- Chỉ ngồi in mấy cái này mà em lộn tới lộn lui mất hết cả ngày chưa phát xong tiền ... hic hic ...
 
- Dạ em cám ơn anh. Theo cách anh chỉ là em hiểu là mình làm tay - và chèn các Page Break. Em làm thử và thấy đúng ý rồi.
- Nhưng mà có cách nào cho excel chèn tự động hoặc Code sao cho nhanh không anh?
- Do cái này là danh sách phát tiền (em mới vào làm thủ quỹ) - file chị KTT đưa cứ 1 sheet là 1 tháng. Mà trong 1 tháng đó phát cho 150 - 200 công là bình thường có tháng hơn 250 công. Em không biết chị làm sao ra các file này (không dám đưa lên do chị không cho) nhưng chị không chịu làm cách khác. Em có nhiệm vụ in ra - phát tiền - ký nhận với từng công.
- Chỉ ngồi in mấy cái này mà em lộn tới lộn lui mất hết cả ngày chưa phát xong tiền ... hic hic ...
Hãy uống một chén rồi nói với chị KTT: Chị hành em thế chị không xót em sao?

Muốn code mà lại nhờ cầy hộ thì ít ra phải đính kèm tập tin ví dụ. Chả nhẽ code phải tìm "Cộng Hòa" trong toàn bộ trang tính?
Nếu không có tập tin thì chờ người thích đoán mò, thích chơi trò "đoán ý đồng đội".

Mà thôi, tôi tự giả thiết và chỉ làm 1 lần cho bạn.
- code giả thiết là cụm từ cần tìm, bất luận nó là cụm từ gì, được nhập vào Z1. Nếu nhập chỗ khác thì sửa trong code Z1 thành "chỗ khác" ấy.
- code giả thiết là cụm từ có trong cột B. Nếu là cột khác thì tự sửa code.
- cụm từ có thể là 1 phần của giá trị trong ô, vd. chỉ là "Cộng Hòa".
- sheet cần xét có tên là Sheet1. Nếu tên khác thì tự sửa code.
Mã:
Sub InsertPageBreak()
Dim findvalue As String, cellAddr As String, cell_ As Range, rng As Range
    With ThisWorkbook.Worksheets("Sheet1")
        findvalue = .Range("Z1").Value
        Set rng = .Range("B1:B100000")
        Set cell_ = rng.Find(findvalue, .Range("B100000"), xlValues, xlPart, xlByColumns, xlNext)
    End With
    If Not cell_ Is Nothing Then
        cellAddr = cell_.Address
        Do While True
            Set cell_ = rng.FindNext(cell_)
            If cell_.Address = cellAddr Then
                Exit Do
            Else
                ThisWorkbook.Worksheets("Sheet1").HPageBreaks.Add cell_
            End If
        Loop
    End If
End Sub
 
- Dạ em cám ơn anh. Theo cách anh chỉ là em hiểu là mình làm tay - và chèn các Page Break. Em làm thử và thấy đúng ý rồi.
- Nhưng mà có cách nào cho excel chèn tự động hoặc Code sao cho nhanh không anh?
- Do cái này là danh sách phát tiền (em mới vào làm thủ quỹ) - file chị KTT đưa cứ 1 sheet là 1 tháng. Mà trong 1 tháng đó phát cho 150 - 200 công là bình thường có tháng hơn 250 công. Em không biết chị làm sao ra các file này (không dám đưa lên do chị không cho) nhưng chị không chịu làm cách khác. Em có nhiệm vụ in ra - phát tiền - ký nhận với từng công.
- Chỉ ngồi in mấy cái này mà em lộn tới lộn lui mất hết cả ngày chưa phát xong tiền ... hic hic ...
Thì hỏi luôn chị KTT đó. Trong nhóm, công ty không hỏi nhau được. Hỏi chi ngoài?

Thường nếu lương thế . Người ta làm phiếu lương 1 trang thôi, thay đổi mã số hoặc số thứ tự là ra người khác và in trang đó ra (Vlookup hay các hàm Lookup là đủ dùng). Code để in cũng nên thế.
 
Lần chỉnh sửa cuối:
Hãy uống một chén rồi nói với chị KTT: Chị hành em thế chị không xót em sao?

Muốn code mà lại nhờ cầy hộ thì ít ra phải đính kèm tập tin ví dụ. Chả nhẽ code phải tìm "Cộng Hòa" trong toàn bộ trang tính?
Nếu không có tập tin thì chờ người thích đoán mò, thích chơi trò "đoán ý đồng đội".
...
Hành? mấy câu chuyện này chúng có 2 chiều. Có khi bên sếp dốt và ương ngạnh, không chịu thay đổi. Nhưng cũng có lúc bên nhân viên kém tay nghề ròi đổt thừa tại sếp.

Code? Đây là thủ quỹ, bác ơi. Thủ quỹ phát lương 150-200 công thì tay nghề cũng phải kha khá rồi. Tính sai một con toán, bán con trâu.

Loại làm việc này thì chính người dùng phải lập quy trình, tự code. Và chỉ hỏi một vài chỗ bí. Nhờ code từ a đến z rồi sai sót làm sao biết. Dẫu có biết thì lấy gì sửa.

Chú: sai sót
Tôi không nói người code sai sót. Ở đây tôi nói sai sót trong trao đổi giữa người dùng và người code.

Thì hỏi luôn chị KTT đó.
...
Chưa chắc đã hỏi được. Lắm khi, lúc xin việc thì cái CV hoành tráng, gì cũng biết, có kinh nghiệm trải qua. Lúc nhận việc thì "em mới vào mà sếp bắt..."
 
Dạ đầu tiên em xin cảm ơn các anh rất nhiều vì đã giúp em. Để em thử Code của anh Batman1.
- Dạ em xin giải thích thêm: em mới vào làm kinh nghiệm còn yếu là thật.
- Xin việc cũng chẳng có nói hoa mỹ phô trương là gì em cũng biết. Do em mới học xong nghiệp vụ kế toán đi xin việc ở 1 xưởng bột mì nhỏ thôi ạ (không phải Công ty doanh nghiệp lớn lao gì)... cũng may em có mấy người bạn chỉ em vào Web này hỏi thử biết đâu được (chứ em cũng không biết diễn đàn này).
- Đương nhiên em hỏi chị KTT là người đầu tiên - em hay hỏi lắm vì chỉ cấp trên mà (phòng có 2 người chứ mấy) - nhưng chỉ nói nào giờ chị làm vậy đó - cứ làm đi (em xin lỗi vì không gửi file lên được do chị không cho).
- Để có gì em ráng học thêm và nghiên cứu thêm ... chứ chổ em thật sự còn "lúa" lắm mấy anh ạ.
 
Mình khuyên bạn thế này, nên làm thành 1 form nào đó, rồi chèn dữ liệu vào bằng code, sau đó in.
Tiếp tục chèn dữ liệu lần 2 rồi in .... Cứ như vậy đến hết dữ liệu
 
...
- Đương nhiên em hỏi chị KTT là người đầu tiên - em hay hỏi lắm vì chỉ cấp trên mà (phòng có 2 người chứ mấy) - nhưng chỉ nói nào giờ chị làm vậy đó - cứ làm đi (em xin lỗi vì không gửi file lên được do chị không cho).
...
nào giờ chị làm vậy đó: nếu chị không có vấn đề thì cứ làm vậy. Bao giờ bạn thật quen với công việc rồi hãy tìm cách "làm hiệu quả hơn".
Nếu tôi mới nhận việc, tôi cũng cắm cúi làm cho đến khi tôi thông suốt hết.

do chị không cho: không cho là phải rồi. Dữ liệu kế toán không bao giờ để lọt ra ngoài.
Tuy nhiên, nếu bạn thật sự hiểu công việc của mình, bạn có thể làm một file giả. Hình thức gióng nhưng dữ liệu hoàn toàn khác biệt.
 
Web KT

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

Back
Top Bottom