Ứng dụng: In liên tục phiếu lương, phiếu thu, chi, hợp đồng,...
Chuẩn bị sheet dữ liệu và sheet form in. Trong đó:
- Sheet Dữ liệu có cột số thứ tự
- Sheet Form in làm công thức lấy thông tin từ sheet Dữ liệu theo số thứ tự (thường dùng hàm VLOOKUP, Index, match, Aggregate, Filter,... để lấy thông tin sang)
- Thiết lập vùng in cho sheet Form in
- Nhập 2 ô bên ngoài vùng in để in từ số nào đến số nào. (Ví dụ: Ô P1 nhập in từ số nào, ô P2 nhập in từ số nào )
Các bước thực hiện đưa code VBA vào file và in liên tục:
Bước 1: Copy code vba in liên tục theo số thứ tự vào file
Mở file Excel, nhấn Alt+F11 (hoặc Alt+Fn+F11) để vào cửa sổ VBA. Trong cửa sổ VBA thì vào Insert => chọn Module và Copy code vba dưới đây và paste vào Module vừa tạo
Sub InPhieuLuong()
Dim bd As Integer
Dim kt As Integer
Dim i As Integer
Dim o As Integer
bd = Range("P1").Value '=> In tu Stt nao
kt = Range("P2").Value '=> In den Stt nao
o = Range("E9").Value '=> Cong thuc trong form in duoc lay theo stt tai o nay
If bd > kt Or IsNumeric(bd) = False Or IsNumeric(kt) = False Or bd <= 0 Or kt <= 0 Then
MsgBox "Nhap sai so bat dau hoac ket thuc", vbCritical
Exit Sub
End If
For i = bd To kt
o = i
ActiveSheet.PrintOut
Application.Wait Now + TimeValue("00:00:01")
Next i
MsgBox "Da hoan thanh in " & kt - bd + 1 & " ban, tu so " & bd & " den " & kt, vbInformation
End Sub
Bước 2: Sửa code VBA theo cấu trúc Form in. Gồm 3 chỗ sửa
- bd = Range("P1").Value : Thay địa chỉ ô P1 tương ứng là ô nhập số bắt đầu (Ví dụ: bạn nhập in từ số bắt đầu tại ô X1 thì P1 bằng X1
- kt = Range("P2").Value: Thay địa chỉ ô P2 tương ứng là ô nhập số kết thúc
- o = Range("E9").Value: Thay địa chỉ ô E9 tương ứng là ô chạy stt để lấy thông tin sang form in
Bước 3: Tạo nút bấm in liên tục
Trở lại màn hình Excel, tại sheet Form in thực hiện chèn 1 shape bất kỳ (Insert => Shape). Rồi click chuột phải vào Shape chọn Asign Macro và trỏ vào tên Macro InPhieuLuong
Bước 4: Thực hiện in
Điền số bắt đầu và số kết thúc để in từ số nào đến số nào và nhấn vào nút bấm tạo ở bước 3 để in liên tục
0 Comment:
Đăng nhận xét