Skip to content

Best Practices

Đúc kết kinh nghiệm sử dụng DVDAddin hiệu quả — tránh sai sót, tối ưu workflow, scale lên dự án lớn.

1. Cấu trúc workbook chuẩn

File 1 dự án = 1 workbook gốc + N workbook con

Sai: 1 file Excel chứa toàn bộ data + tính toán + báo cáo cho dự án 1000+ hạng mục → workbook nặng > 50MB, mở chậm, dễ crash.

Đúng:

  • MasterData.xlsx — Bảng giá, danh mục công tác, định mức (read-only).
  • KhoiLuong.xlsx — Bảng đo bóc dự án (tham chiếu MasterData).
  • BCH_Tien_Do.xlsx — Gantt + nhật ký công trình.
  • BCH_Nghiem_Thu.xlsx — BBNT generate qua Merge Word.

Tách → mỗi file nhỏ < 10MB, load nhanh, ít crash.

Sheet structure

Một workbook nên có 3 loại sheet:

LoạiMục đíchVí dụ tên
InputUser nhập dataInput, DATA, Khoi_Luong
ConfigSettings + lookupsSettings, BangGia, DanhMuc
OutputBáo cáo + chart (hide)Report, Gantt, Summary

Sheet Output thường VeryHidden → user không sửa nhầm.

Naming convention

✓ Sheet name: BBNTCV, KT_DD, BangGia_2026.

  • Không space (dễ tham chiếu trong công thức).
  • Có prefix theo loại (BB = biên bản, KT = khối lượng, ...).

✓ Named Range: DanhSachHangMuc, BangGia_2026_Range.

  • PascalCase.
  • Có hậu tố _Range cho range, _Value cho cell đơn.

2. Sử dụng UDF đúng cách

Cell-level UDF chỉ cho 1 cell quan trọng

Sai: dùng =DvdAskGemini(A1) cho 1000 cell — mỗi cell gọi API riêng → quota tốn nhanh, async chậm.

Đúng:

Convert UDF → Values khi không cần dynamic

Sau khi UDF resolve → snapshot:

Ctrl + A  (select all)
Ctrl + C  (copy)
Ctrl + Alt + V → V → Enter  (paste values only)

→ Workbook không recalc UDF mỗi lần thay đổi → mở nhanh hơn.

Hạn chế hàm volatile

Volatile functions Excel tính lại mỗi lần ANY cell đổi:

  • DvdAutoHideRows — volatile by design.
  • DvdHttpGet — chỉ volatile nếu URL chứa {timestamp}.
  • Built-in: NOW(), TODAY(), RAND(), OFFSET(), INDIRECT().

→ Tránh dùng > 100 cell. Nếu cần volatile, dùng Connect Server sync 1 cell rồi tham chiếu (chỉ 1 cell volatile, các cell khác tham chiếu).

3. Bảo vệ data quan trọng

Sheet Protection

Sheet Settings, BangGia, DanhMucluôn protect với password:

  • Review → Protect Sheet → đặt password.
  • User có thể edit Input nhưng KHÔNG sửa Config.

Quên password? → DVDAddin → Mở khóa Sheet.

Workbook Structure Protection

Tránh user thêm/xóa/đổi tên sheet:

  • Review → Protect Workbook → Structure.

File Encryption (cho data nhạy cảm)

File chứa thông tin lương / chi phí thực:

  • File → Info → Protect Workbook → Encrypt with Password.

⚠️ Lưu ý: DVDAddin KHÔNG bypass file encryption (encryption.xml). Quên password file encrypt = mất data luôn → dùng password manager.

4. Version control

Folder structure per project

D:\Projects\MHC_Van_Phong\
├── 00_Master\
│   ├── MasterData.xlsx
│   └── Templates\
├── 01_TKBVTC\
├── 02_HoSoQLDA\
│   ├── KhoiLuong_v01.xlsx
│   ├── KhoiLuong_v02.xlsx     ← rev sau 1 tuần
│   ├── KhoiLuong_v03_Final.xlsx
│   └── _archive\               ← v01, v02 cũ
├── 03_NhatKy\
│   ├── Thang_5\
│   ├── Thang_6\
│   └── ...
└── _backup\                   ← zip backup hàng tuần

Đặt tên file theo pattern

{DA}_{Loai}_{Date}_{Version}.{ext}

Examples:

  • MHC_KhoiLuong_2026-05-15_v3.xlsx
  • MHC_TienDo_W20_v1.pdf
  • MHC_NhatKy_T05_v1.pdf

→ Dễ search, dễ archive, dễ rollback.

Git cho team lớn

Team > 5 người + dự án dài → consider Git LFS cho Excel:

  • git init + .gitattributes: *.xlsx filter=lfs diff=lfs merge=lfs -text.
  • Commit weekly.
  • Mỗi commit = 1 milestone.

(Advanced — chỉ team có IT support.)

5. License & Subscription

1 license = 1 người

KHÔNG share license cho cả team. Mỗi người dùng license riêng — kick session sẽ ảnh hưởng workflow của người khác.

Team 5 người → mua 5 máy license (rẻ hơn 5 × 1 máy).

Cảnh báo trước khi hết hạn

DVDAddin có notification:

  • 30 ngày trước hết hạn → toast notification.
  • 7 ngày trước → modal dialog popup khi mở Excel.

Đừng đợi cuối → mua gia hạn trước 30 ngày.

Backup license.dat

Trước khi reset Windows / đổi máy:

%LocalAppData%\DVDAddin\license.dat

Copy file này ra USB. Sau khi cài lại → paste về vị trí cũ → KHÔNG cần login lại (nếu cùng MachineGuid).

6. Backup strategy

Mức 1 — Save file thường xuyên

Ctrl + S sau mỗi 30 phút làm việc.

Mức 2 — Excel AutoRecover

File → Options → Save → "Save AutoRecover information every" → set 5 phút (mặc định 10).

→ Excel crash → mở lại → có option Recover.

Mức 3 — OneDrive / Google Drive auto-sync

Folder dự án trong OneDrive → mỗi save Ctrl+S → tự upload Cloud.

→ Máy hỏng / mất → vẫn có file trên Cloud.

Mức 4 — Weekly archive

Mỗi cuối tuần:

  • Zip toàn bộ folder dự án.
  • Đặt tên DA_Backup_2026-05-15.zip.
  • Upload Cloud (Google Drive / Dropbox / S3).
  • Giữ 8 tuần gần nhất.

Mức 5 — Off-site backup

Cho dự án quan trọng (giá trị > 100 tỷ):

  • Backup vào ổ cứng vật lý đặt ở văn phòng khác.
  • Backup vào S3 / Backblaze B2 (long-term cold storage, $5/tháng/TB).

7. Collaboration

Single source of truth

Mỗi loại data có 1 file là master, các file khác tham chiếu read-only:

  • BangGia master = MasterData.xlsx.
  • File con dùng =VLOOKUP(MaCT, '[MasterData.xlsx]BangGia'!$A:$H, 8).

→ Update bảng giá → tất cả file con tự cập nhật khi mở.

Comment + Track Changes

Khi team review file:

  • Right-click cell → New Comment → ghi feedback.
  • Review → Track Changes → Highlight Changes (nếu file shared).

→ Sửa qua lại không bị mất context.

Connect Server cho team lớn

Team > 3 người + dự án > 3 tháng → Connect Server:

  • Cloud sync tự động.
  • Lịch sử thay đổi (audit log).
  • Conflict resolution dialog.

8. Documentation

Sheet Huong_Dan trong mỗi file

File phức tạp → thêm sheet đầu Huong_Dan (Tab màu vàng) với:

  • Mục đích file.
  • Cấu trúc các sheet.
  • Cell driver quan trọng.
  • Workflow update weekly.
  • Contact người tạo file.

→ Đồng nghiệp / sếp mở file lần đầu hiểu ngay.

Named Range với description

Insert → Name Manager → set comment cho mỗi Named Range:

  • BangGia_2026 — "Bảng đơn giá có hiệu lực từ 01/01/2026. Update mỗi quý."
  • DanhMucCongTac — "Danh mục công tác chuẩn theo TT 12/2019/BXD."

→ Khi user gõ =BangGia_2026, hover hint hiện description.

Liên quan

Released under DVDAddin License.