Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động hóa việc tạo bảng lương bằng VBA - Kinh nghiệm thực tế

Uông Tín Thương 08/04/2026 20:17 287 lượt xem 2 trả lời

Chào các bác, tình hình là em đang làm một file chấm công và tính lương cho công ty nhỏ, số lượng nhân viên khoảng 30 người. Dữ liệu chấm công lấy từ máy vân tay ra file Excel, mỗi ngày một file. Em muốn tự động hóa việc tổng hợp dữ liệu này và tính lương hàng tháng bằng VBA để tiết kiệm thời gian.

Hiện tại em đang gặp mấy vấn đề sau, rất mong các cao thủ VBA chỉ giáo:

  • Làm sao để gom dữ liệu chấm công từ nhiều file Excel (theo ngày) vào một bảng tổng hợp duy nhất? Các file này có cấu trúc cột giống nhau nhưng tên file thì khác nhau (ví dụ: ChamCong_20231001.xlsx, ChamCong_20231002.xlsx...).
  • Sau khi có dữ liệu tổng hợp, làm thế nào để tự động tính các khoản mục lương như: lương cơ bản, phụ cấp, lương làm thêm giờ (tính theo giờ hành chính và giờ nghỉ), các khoản phạt (đi muộn, về sớm)?
  • Có cách nào để tạo một UserForm đơn giản cho phép nhập các thông tin cố định như: lương cơ bản của từng nhân viên, hệ số lương làm thêm giờ, các loại phụ cấp không?

Em đã thử tìm hiểu trên mạng nhưng thấy có nhiều cách làm, hơi bối rối. Các bác có kinh nghiệm hoặc đoạn code mẫu nào hay thì chia sẻ cho em với ạ. Em xin cảm ơn!

1

Chào bạn,

Vấn đề gom dữ liệu từ nhiều file vào một là bài toán rất quen thuộc khi làm việc với VBA. Để giải quyết, bạn có thể thử cách này:

  1. Sử dụng Dir() để duyệt qua tất cả các file trong một thư mục nhất định.
  2. Mở từng file, copy dữ liệu cần thiết (có thể xác định theo tên cột hoặc vị trí cố định).
  3. Dán dữ liệu vào một sheet tổng hợp trong file chính của bạn.

Bạn có thể cho biết cấu trúc cột của các file chấm công đó có giống hệt nhau không, hay có cần xử lý thêm phần định dạng ngày tháng, tên nhân viên trước khi gom không?

4

Chào bạn,

Vấn đề gom dữ liệu từ nhiều file Excel vào một là bài toán rất quen thuộc khi làm việc với VBA. Để giải quyết, bạn có thể thử cách này:

Sử dụng Dir() để duyệt qua tất cả các file trong một thư mục nhất định. Mở từng file, copy dữ liệu cần thiết (có thể xác định theo tên cột hoặc vị trí cố định). * Dán dữ liệu vào một sheet tổng hợp trong file chính của bạn.

Bạn có thể cho biết cấu trúc cột của các file chấm công đó có giống hệt nhau không, hay có cần xử lý thêm phần định dạng ngày tháng, tên nhân viên trước khi gom không?

3

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký