Chào các bác, dạo này em bận quá làm báo cáo thu chi cho công ty nhỏ, mà cứ phải làm thủ công trên Word rồi copy paste sang Excel, vừa tốn thời gian vừa dễ sai sót.
Tình cờ em lục lọi trên mạng và tự mày mò viết được một cái tiện ích nhỏ bằng VBA để tự động tạo phiếu thu/chi ngay trên Excel luôn. Nó giúp em tiết kiệm được kha khá thời gian và quan trọng là nhìn chuyên nghiệp hơn hẳn.
Cách hoạt động của tiện ích:
- Người dùng nhập thông tin cơ bản như: Ngày, Diễn giải, Số tiền, Người nhận/giao.
- Click nút 'Tạo Phiếu Thu' hoặc 'Tạo Phiếu Chi'.
- Tiện ích sẽ tự động lấy thông tin và điền vào một mẫu phiếu có sẵn, sau đó cho phép xuất ra file PDF hoặc in trực tiếp.
Em thấy cái này khá hữu ích cho các bác nào làm kế toán nhỏ, hoặc các bạn mới đi làm cần tạo phiếu nhanh. Em xin phép chia sẻ code VBA cho mọi người tham khảo và tùy biến thêm.
' Code VBA mẫu (cần tùy chỉnh thêm UI và logic chi tiết)
Sub CreateReceipt()
Dim wsData As Worksheet
Dim wsTemplate As Worksheet
Dim nextRow As Long
Set wsData = ThisWorkbook.Sheets("Data") ' Sheet chứa dữ liệu nhập
Set wsTemplate = ThisWorkbook.Sheets("Template") ' Sheet mẫu phiếu
' Tìm dòng trống cuối cùng trên sheet Data
nextRow = wsData.Cells(Rows.Count, "A").End(xlUp).Row + 1
' Lấy dữ liệu từ form hoặc ô nhập liệu (giả định)
Dim receiptDate As Date
Dim description As String
Dim amount As Double
Dim recipient As String
receiptDate = wsData.Range("B2").Value ' Giả định ngày nhập ở B2
description = wsData.Range("B3").Value ' Giả định diễn giải ở B3
amount = wsData.Range("B4").Value ' Giả định số tiền ở B4
recipient = wsData.Range("B5").Value ' Giả định người nhận ở B5
' Copy mẫu phiếu
wsTemplate.UsedRange.Copy
wsData.Cells(nextRow, 1).PasteSpecial Paste:=xlPasteAll
' Điền thông tin vào phiếu vừa copy
wsData.Cells(nextRow, 1).Value = receiptDate ' Cột A
wsData.Cells(nextRow, 2).Value = description ' Cột B
wsData.Cells(nextRow, 3).Value = amount ' Cột C
wsData.Cells(nextRow, 4).Value = recipient ' Cột D
Application.CutCopyMode = False
MsgBox "Đã tạo phiếu thành công!"
End SubEm mới làm demo nên code còn đơn giản, mọi người có thể phát triển thêm chức năng xuất PDF, in ấn, hoặc làm giao diện đẹp hơn. Nếu có ý tưởng gì hay hoặc cần trợ giúp phần nào thì cứ trao đổi nhé!