Friday, September 7, 2018

Code Vba Thông Dụng Trong Excel - Bài 2

Chào các bạn, Hôm trước trong bài đầu tiên về Code Vba rất thông dụng trong excel. Các code này rất hữu ích. Vì hiện nay đa phần các bạn dùng thủ công để thực hiện các thao tác, việc này rất tốn thời gian và hiệu suất công việc kém. Các bạn nên tận dụng các bài về code Vba của mình để áp dụng vào thực tế, mục đích làm tăng tiến độ công việc thực tế của các bạn.

Hôm nay mình sẽ giới thiệu đến các bạn code Vba về in hàng loạt chứng từ: Như các chứng từ về Phiếu Thu, Phiếu Chi, Phiếu Xuất, Phiếu Nhập, Phiếu Kế Toán, Phiếu Báo Công Nợ, Biên Bản Đối Chiếu Công Nợ, Đơn Hàng, Biên Bản....

Hiện nay, các bạn thường in từng phiếu một, nếu số lượng phiếu các bạn dồn lại của 1 tháng, một quý, hay một năm, thậm chí là nhiều năm..thì các bạn in từng tờ vậy quả thật là tốn nhiều thời gian.

Dưới đây là code về in tùy chọn theo số in trong excel và các bạn có thể in hàng loạt, nhiều bản...
+ Đoạn code như sau:

Sub InPCHI()
Dim i As Long, p1, p2, cp
p1 = Sheet6.Range("R3").Value
p2 = Sheet6.Range("R4").Value
cp = Sheet6.Range("R5").Value
If IsNumeric(p1) = False Or IsNumeric(p2) = False Then Exit Sub
If p1 > p2 Then Exit Sub
If cp = "" Or IsNumeric(cp) = False Then cp = 1
For i = p1 To p2 Step 1
    Sheet6.Range("G8").Value = i
'    Sheet6.PrintPreview 'To preview
    Sheet6.PrintOut From:=1, To:=1, Copies:=cp
Next
End Sub

- Mình sẽ giới thiệu từng phần trong đoạn code này như sau:
1. p1: là số phiếu đầu tiên để in. (các bạn có thể sửa ô R3, thành ô nơi gõ số phiếu in đầu tiên).
2. p2: là số phiếu cuối để in. (các bạn có thể sửa ô R4, thành ô nơi gõ số phiếu in cuối cùng).
3. cp: là số bản cần in. (các bạn có thể sửa ô R5, thành ô nơi gõ số bản cần in).
4. Sheet6.Range: Là Sheet các bạn đang có mẫu để in, nếu mẫu in ở sheet nào thì các bạn sửa lại.
+ Để biết sheet có chứa mẫu in là sheet nào, các bạn bấm ALT + F11 và xem bên trái phần VbaProject. Nó sẽ hiện số thứ tự sheet và tên sheet, các bạn xem và sửa lại cho đúng sheet.
5. Sheet6.Range("G8").Value = i: Ô G8 này là ô chứa số phiếu in hiện hành, các bạn có thể tùy chỉnh ô đặt số phiếu in hiện hành, và số này tự động nhảy từ số đầu tiên đến số cuối cùng mà các bạn đã gõ ở ô R3 và R4.
6. Sheet6.PrintPreview 'To preview: Là cú pháp xem phiếu trước khi in, nếu các bạn muốn xem trước khi in thì xóa dấu nháy ở đầu dòng của cú pháp này đi, nếu các bạn không muốn xem trước khi in thì để dấu nháy vào ở đầu dòng của cú pháp này, câu lệnh sẽ không được thực thi.
+ Nếu các bạn đặt cú pháp này là thực thi thì khi bấm in, xem trước bản in xong, nếu ok không có gì sai sót trong bản in, thì các bạn bấm ESC để tiến hành in.
=> Việc đưa code này vào "Module" thì mình đã có hướng dẫn trong bài 1, các bạn có thể xem lại là sẽ rõ ngay, rất đơn giản thôi.
=> Lưu ý các bạn: Là các bạn cần kết hợp các hàm Vlookup(), hoặc Index() lấy số phiếu in ở ô G8 làm đối tượng tìm kiếm, mục đích là để dò tìm các thông số về dữ liệu của phiếu cần in qua mẫu in, thì các bạn mới có dữ liệu ở mẫu in theo số phiếu, mà in được.
=> Và tất nhiên là các bạn phải có 1 sheet data dữ liệu để lấy dữ liệu qua mẫu in rồi, và sheet dữ liệu này phải có đầy đủ các thông số về số phiếu in theo số từ 1 đến n, các dữ liệu về phiếu in theo từng dòng của chứng từ, y như trong sổ nhật ký chung.

+ Các bạn tạo mẫu in như hình ảnh bên dưới: (đây là mẫu cơ bản, các bạn có thể tùy tạo).
1. Trước tiên các bạn tạo một nút để bấm in như hình sau.
2. Khi có nút in rồi, các bạn gõ tên vào nút in và tiến hành chỉ định nút in này đến code vba đã tạo.
- Kích chuột phải vào nút in và chọn như hình sau.
- Đến hình kế tiếp và làm tiếp như hướng dẫn bên dưới.
- Ở hộp Macros in: Chọn đến file hiện hành bạn đang cài đặt in, và file này phải đang mở nhé.
3. Tiếp tục chọn đến Macros đã tạo khi đưa code vào, như hình sau, ở đây mình là "InPCHI".
- Xong bấm ok và các bạn có mẫu in như sau.
=> Vậy là các bạn đã tạo được một code in hàng loạt tùy chỉnh rồi nghe. Rất hay đó.
Chúc các bạn thành công. Nếu chưa rõ, các bạn có thể Comment vào bài viết nhé.
Cảm ơn và chào các bạn!

0 comments:

Post a Comment