Đến nội dung

Mẹo nâng cao ​

Các kỹ thuật nâng cao kết hợp DVDAddin, Excel và script, dành cho người dùng thành thạo.

Các công thức trong trang này viết theo định dạng vùng (Regional format) Việt Nam, dùng dấu chấm phẩy ; ngăn cách tham số. Máy đặt định dạng English (US) thì gõ dấu phẩy ,.

1. Macro VBA gọi UDF DVDAddin ​

UDF của DVDAddin là hàm XLL, gọi được từ VBA bằng Application.Run với đúng tên hàm như trong bảng tính:

vb
Sub TestDvdUDF()
    Dim result As String
    result = Application.Run("dvdVnd", 1234567, 1)
    Debug.Print result   ' "Bằng chữ: Một triệu hai trăm ba mươi tư nghìn..."

    Dim translated As String
    translated = Application.Run("dvdTranslate", "Hello", "en", "vi")
    Debug.Print translated   ' "Xin chào"

    Debug.Print Application.Run("dvdUnDiacriticsVi", "Bê tông cốt thép")
    ' "Be tong cot thep"
End Sub

Lưu ý:

  • Năm hàm bất đồng bộ (DVDFx, dvdAIExplain, dvdSQL, dvdSQLValue, dvdSheets) không bắt VBA đứng chờ — lần gọi đầu chúng trả về lỗi #N/A chứ không đợi kết quả (xem mục 8).
  • Các hàm ghi kết quả ra vùng đích (dvdMCLookup, dvdMVLookup, dvdUniqueV, dvdAutoHide) và các hàm vẽ hình (dvdPic, dvdQR, dvdColorShapes) được thiết kế để chạy trong ô công thức; gọi từ VBA thì phần tác động lên sheet có thể không xảy ra.
  • Ngoài UDF, bản .xll còn đăng ký các macro phím tắt có tên cố định dạng DvdShortcut_* — VBA gọi thẳng được, ví dụ Application.Run "DvdShortcut_AutoFitMerge". Đây là cách chạy một lệnh ribbon từ macro của bạn.
  • Danh sách 50 hàm và cú pháp chính xác: Hàm UDF.

2. Kết hợp Power Query với DVDAddin ​

Power Query chạy trên bộ máy ngôn ngữ M riêng, không gọi được UDF của Excel — kể cả UDF của add-in. Cách ghép hai công cụ:

Cách ghép: Power Query nạp dữ liệu → cột UDF xử lý → kết quả ​

  1. Power Query nạp CSV / cơ sở dữ liệu → sheet RawData.
  2. Sheet Processed đặt công thức tham chiếu sang, ví dụ =dvdUnDiacriticsVi(RawData!A2).
  3. Làm mới (Refresh) Power Query → RawData cập nhật → Processed tự tính lại.

Nếu bảng nguồn là Excel Table thì cột công thức đặt ngay trong Table sẽ tự giãn theo số dòng mới sau mỗi lần làm mới — không phải kéo tay.

Việc gì nên để Power Query làm ​

Gộp file, xoay cột thành dòng (unpivot), nối nhiều bảng, đổi kiểu dữ liệu hàng loạt — Power Query nhanh hơn hẳn UDF vì chỉ chạy một lần lúc làm mới, không tính lại theo từng ô. Ngược lại, phần đặc thù tiếng Việt và đặc thù hồ sơ xây dựng (bỏ dấu, đọc số thành chữ, tra định mức hai chiều, đọc tiến độ) thì để UDF làm.

3. Dùng UDF trong định dạng có điều kiện ​

Quy tắc định dạng có điều kiện (Conditional Formatting) loại "Use a formula to determine which cells to format" gọi được UDF, nhưng chỉ với hàm thuần: nhận giá trị, trả giá trị, không đụng tới sheet.

=dvdCountOccurrences(A1; "Ø") > 0

→ Tô màu ô có ký hiệu đường kính viết bằng Ø.

=dvdUnDiacriticsVi(A1) <> A1

→ Tô màu ô còn sót dấu tiếng Việt trong cột lẽ ra phải viết không dấu (tên file, mã hiệu).

Không dùng được trong định dạng có điều kiện:

  • Hàm ghi ra sheet: dvdMCLookup, dvdMVLookup, dvdUniqueV, dvdAutoHide.
  • Hàm vẽ hình: dvdPic, dvdQR, dvdColorShapes, dvdMoveShape.
  • Hàm cần tham chiếu thật và chạy ở chế độ macro: dvdExplain, dvdExplainE, dvdAIExplain.
  • Hàm mạng (dvdTranslate, dvdStock, DVDFx) — về kỹ thuật thì chạy được, nhưng định dạng có điều kiện tính lại rất thường xuyên nên sẽ gọi mạng liên tục.

Nếu quy tắc không có tác dụng, hãy đưa kết quả UDF ra một cột phụ rồi cho quy tắc tham chiếu cột đó — cách này luôn chạy và nhanh hơn.

4. Bố trí nhiều màn hình ​

Excel hỗ trợ nhiều màn hình từ bản 2013. Nhiều cửa sổ của DVDAddin là cửa sổ không chặn (modeless — không khoá Excel), nên đẩy được sang màn hình phụ mà vẫn thao tác trên bảng tính:

Ngược lại, một số cửa sổ là cửa sổ chặn (modal), phải đóng mới thao tác tiếp được: Tùy chọn, Tìm lệnh nhanh, Giới thiệu.

Cửa sổ không chặn ghi vào ô đang chọn

Điều làm nó tiện cũng chính là điều làm nó nguy hiểm: cửa sổ ghi vào ô đang chọn tại thời điểm bấm Áp dụng. Liếc con trỏ trước mỗi lần bấm.

5. Thanh truy cập nhanh và phím tắt ​

Excel có Thanh truy cập nhanh (Quick Access Toolbar — QAT) để ghim những lệnh dùng nhiều:

  1. Chuột phải vào nút DVDAddin trên ribbon → Add to Quick Access Toolbar.
  2. Nút vừa ghim hiện trên thanh truy cập nhanh (phía trên hoặc phía dưới ribbon).
  3. Gọi bằng Alt + 1/2/3/... theo thứ tự trên thanh.

Nên ghim: Bản quyền, Dịch ngôn ngữ, Trợ lý AI, Đánh số, Danh sách Sheet.

Phím tắt mặc định của DVDAddin ​

Phím gắn với một nút ribbon:

Phím tắtLệnh
F3Xem công thức
F6Copy/Paste hiện
F10Sheet → PDF
Ctrl+Shift+DChỉnh ảnh
Ctrl+Shift+IIn nghiêng
Ctrl+Shift+MAutoFit gộp ô
Ctrl+Shift+QTìm lệnh nhanh
Ctrl+Shift+RĐảo ngược
Ctrl+Shift+SHoa theo ngữ cảnh (AI)
Ctrl+Shift+WĐiều hướng
Ctrl+Shift+ZGộp giữ data
Alt+CChèn và Sao chép
Alt+SOCR Screen Clip
Alt+XCopy/Paste hiện — cùng lệnh với F6
Ctrl+Alt+INhập nhanh
Ctrl+Alt+SChụp và Ghi chú

Phím không có nút tương ứng trên ribbon — chỉ gọi được bằng bàn phím:

Phím tắtTác dụng
F8Gọi chổi sao định dạng (Format Painter) của Excel
Shift+F1Lấy nội dung ô đang chọn làm câu hỏi cho AI, ghi câu trả lời xuống ô ngay bên dưới
Ctrl+JXoay vòng canh ngang: trái → giữa → phải
Ctrl+MXoay vòng canh dọc: trên → giữa → dưới
Ctrl+Shift+ATô nền vàng vùng chọn; bấm lại trên ô đã vàng thì bỏ tô
Ctrl+Shift+CXoay vòng kiểu chữ: HOA → Hoa Đầu Mỗi Từ → Hoa đầu câu → thường
Ctrl+Shift+EDịch nhanh vùng chọn sang tiếng Anh, ghi đè tại chỗ
Ctrl+Shift+JDịch nhanh vùng chọn sang tiếng Việt, ghi đè tại chỗ

Vài lưu ý thực tế:

  • Ctrl+Alt+S là phím tắt toàn hệ thống (đăng ký ở mức Windows) nên bấm từ cửa sổ nào cũng chụp được; các phím còn lại chỉ có tác dụng khi Excel đang là cửa sổ phía trước.
  • F10 đè lên phím mở thanh menu của Excel — cần menu thì bấm Alt.
  • Hai phím dịch nhanh ghi đè trực tiếp lên ô và cần mạng; add-in hỏi lại trước khi ghi và sao lưu được sheet. Với bảng lớn hãy dùng lệnh Dịch ngôn ngữ.
  • Phím dịch sang tiếng Việt trước đây là Ctrl+Shift+V — trùng Dán giá trị của Excel 365 — nên đã đổi sang Ctrl+Shift+J. Máy đã cài mà chưa đổi phím thì add-in tự chuyển giúp một lần; ai đã tự đặt phím khác thì giữ nguyên lựa chọn ấy.
  • Bảng phím tắt trong Cài đặt không tự dò phím dựng sẵn của Excel: nó chỉ báo trùng với các lệnh của add-in. Khi tự đặt phím, hãy tránh những tổ hợp Excel đã dùng như Ctrl+Shift+L (lọc), Ctrl+Shift+T (hàng Tổng của Table), Ctrl+Shift+V (dán giá trị), Ctrl+Shift+U (mở rộng thanh công thức).
  • Phím tắt chỉ hoạt động sau khi add-in nạp xong; vừa cài xong phải khởi động lại Excel.

Mục Phím tắt trong Tùy chọn là bảng chỉnh: bấm vào ô phím của một dòng rồi gõ tổ hợp mới để đổi, chọn một lệnh ribbon bất kỳ trong ô danh sách rồi bấm thêm để tạo dòng phím tắt mới (tối đa 10 lệnh tự thêm), hoặc bấm nút trả về mặc định. Thiết lập lưu ở HKCU\Software\DVD\DVDAddin\Shortcuts, nên sao lưu nhánh registry này là sao lưu luôn bộ phím tắt (xem mục 18).

Không nhớ nổi phím tắt thì bấm Ctrl+Shift+Q rồi gõ vài chữ của tên lệnh — nhanh hơn đi tìm nút trên ribbon.

6. Đọc nhật ký của add-in khi có sự cố ​

DVDAddin ghi nhật ký (log) cho một số phần hay gặp lỗi. Khi báo lỗi cho bộ phận hỗ trợ, nên đính kèm các file này:

Nhật kýĐường dẫnNội dung
Đổi chữ%TEMP%\DVDAddin\case.logChi tiết ô nào bị đổi, vì sao không đổi được
Nhãn ribbon%TEMP%\DVDAddin\ribbon-labels.logChẩn đoán khi ribbon hiện sai chữ hoặc thiếu nút
DVD Chat%TEMP%\dvdaddin-chat.logKết nối và tin nhắn của chat nhóm
Nhật ký thi công%LocalAppData%\DVDAddin\diary.logTừng bước của lệnh Tạo Nhật ký, kèm mã bản dựng (build tag)

Xem nhanh file nhật ký mới nhất:

powershell
Get-ChildItem "$env:TEMP\DVDAddin" -Filter '*.log' |
    Sort-Object LastWriteTime -Descending |
    Select-Object -First 1 |
    Get-Content -Tail 100

Dòng cuối cùng trước lúc Excel treo thường chỉ đúng chỗ hỏng. diary.log còn ghi mã bản dựng (build tag) — cho biết Excel đang chạy bản add-in nào, xem mục tiếp theo.

7. Kiểm tra Excel có đang chạy đúng bản .xll mới không ​

"Đã cập nhật rồi mà lỗi vẫn còn" thường không phải do lỗi chưa được sửa, mà do Excel vẫn giữ bản cũ trong bộ nhớ. Excel giữ file XLL đã nạp cho tới khi đóng hẳn mọi cửa sổ Excel — cài đè khi Excel còn mở thì bộ cài hoặc báo lỗi khoá file, hoặc chép được file mới nhưng phiên đang chạy vẫn dùng mã cũ.

Đối chiếu giờ khởi động Excel với giờ sửa file XLL:

powershell
$xll = 'C:\DVDAddin\DVDAddin-AddIn64-packed.xll'
(Get-Item $xll).LastWriteTime
Get-Process EXCEL -ErrorAction SilentlyContinue | Select-Object Id, StartTime

StartTime của Excel sớm hơn LastWriteTime của XLL nghĩa là phiên hiện tại chưa nạp bản mới — thoát hết Excel (kể cả tiến trình còn sót trong Task Manager) rồi mở lại.

Xem Excel đang được đăng ký nạp XLL nào:

powershell
Get-ItemProperty 'HKCU:\Software\Microsoft\Office\16.0\Excel\Options' |
    Select-Object -Property OPEN*

Mỗi mục OPEN, OPEN1, OPEN2… có dạng /R "C:\DVDAddin\DVDAddin-AddIn64-packed.xll". Bản 32-bit dùng file DVDAddin-AddIn-packed.xll trong cùng thư mục.

8. Hàm bất đồng bộ và #N/A waiting... ​

Năm hàm chạy bất đồng bộ: DVDFx, dvdAIExplain và ba hàm truy vấn dữ liệu dvdSQL, dvdSQLValue, dvdSheets. Lần tính đầu tiên ô hiển thị #N/A waiting..., khi có kết quả Excel tự cập nhật lại ô — không cần bấm F9.

Hệ quả thực tế:

  • Đừng bọc IFERROR quanh chúng. IFERROR nuốt mất trạng thái chờ và ô đứng yên ở giá trị thay thế.
  • DVDFx lưu đệm một giờ cho mỗi cặp tiền và mỗi ngày — kéo công thức xuống 500 dòng cùng cặp USD/VND chỉ tốn một lần gọi mạng.
  • Muốn chốt tỷ giá cho hồ sơ thanh toán thì truyền tham số ngày: =DVDFx("USD"; "VND"; "2026-06-30") cho kết quả cố định, không đổi theo ngày mở file.
  • dvdAIExplain cần API key Gemini khai trong Tùy chọn → mục Trợ lý AI; thiếu key thì hàm không trả về gì.

Hai hàm mạng còn lại — dvdTranslate và dvdStock — chạy đồng bộ, nên kéo hàng trăm dòng cùng lúc sẽ treo Excel và dễ bị nhà cung cấp chặn. Bảng lớn thì dùng lệnh Dịch ngôn ngữ thay cho công thức.

9. Excel Online, Mac và Excel trên điện thoại ​

DVDAddin là add-in .xll (Excel-DNA) chạy trên Excel bản desktop cho Windows. Excel Online, Excel for Mac và Excel trên điện thoại dùng mô hình add-in khác (Office.js) nên không nạp được DVDAddin — không có ribbon DVD Addin / DVD Cons, không có hàm dvd*.

Hệ quả khi làm việc nhóm: file có công thức dvd* mà mở bằng Excel Online sẽ hiện #NAME? ở các ô đó. Giá trị đã tính vẫn còn trong file, nhưng chỉ cần Excel Online tính lại là mất. Với file phải gửi cho người không cài add-in, hãy Copy → Paste Values cột UDF trước khi gửi.

10. Workbook song ngữ Việt – Anh ​

=dvdTranslate(A1; "vi"; "en")
="Vietnamese: " & A1 & " | English: " & B1

→ Cột A tiếng Việt, cột B dịch sang tiếng Anh, cột C ghép song ngữ cho khách nước ngoài.

Với hồ sơ chính thức, dịch xong nên dán giá trị (Paste Values) để bản dịch không đổi theo từng lần mở file. Ngày tháng song ngữ trong biên bản dùng dvdLDate với tham số ngôn ngữ 2.

11. Kết hợp với Python in Excel ​

Office 365 có Python in Excel (=PY(...)). Ô Python chạy trên đám mây của Microsoft nên không gọi được UDF dvd* — cũng như Power Query, hai bên trao đổi dữ liệu qua ô trung gian:

  • UDF dvd* lo phần xử lý tiếng Việt và nghiệp vụ hồ sơ, kết quả nằm trong ô.
  • =PY(...) đọc vùng ô đó bằng xl("A1:C100") cho phần phân tích nặng (pandas, biểu đồ thống kê).

Quy trình thực tế: dữ liệu thô → UDF làm sạch/chuẩn hóa → Python phân tích → kết quả trả lại ô Excel.

12. Một biểu mẫu, hàng trăm bộ hồ sơ ​

Đây là kỹ thuật đáng giá nhất của In hàng loạt mà hay bị bỏ qua: thay vì viết script, bạn để add-in gán lần lượt số thứ tự vào một ô điều khiển (driver cell) rồi in lại biểu mẫu sau mỗi lần gán.

  1. Sheet biểu mẫu lấy toàn bộ nội dung theo một ô, ví dụ BBNT!$B$2 chứa số cấu kiện, các ô còn lại dùng VLOOKUP theo số đó.
  2. Trong cửa sổ In hàng loạt: Phạm vi số = Liên tục 1–120, Driver cell = BBNT!$B$2, Sheet-print cell trỏ tới ô chứa chuỗi BBNT+PhuLuc, Filename cell trỏ tới ô có công thức ="BBNT_Cot_"&B2.
  3. Tick tùy chọn gộp PDF thành một file rồi bấm Export PDF.

Thiết lập được lưu vào sheet ẩn DVDAddinSetting bên trong chính workbook — gửi file cho người khác thì cấu hình đi kèm, mở lên là chạy được ngay. Trong lúc chạy, add-in thay đổi thật giá trị của ô điều khiển, nên hãy lưu file trước khi in loạt lớn.

Cửa sổ này cần thao tác tay nên không thể để tự chạy khi không có người trông; phần tự động hóa thực sự nên đặt ở khâu sau — xem mục 14.

13. Tham chiếu file dùng chung trên mạng ​

Workbook con tham chiếu tới file bảng giá đặt trên máy chủ:

='\\server\share\[BangGia.xlsx]Sheet1'!$A$1

(Dấu ngoặc vuông bao tên file, không phải tên sheet — viết sai chỗ này là lỗi phổ biến nhất.)

Mỗi lần bảng giá trên máy chủ được lưu, workbook con sẽ cập nhật ở lần mở file kế tiếp hoặc khi bấm Data → Edit Links → Update Values.

Nếu cả tổ cần thấy thay đổi ngay lập tức trên cùng một file thì đây không phải công cụ phù hợp — hãy dùng Kết nối Server. Lệnh này đồng bộ giá trị ô và định dạng theo thời gian thực giữa nhiều máy, qua mạng LAN (một máy làm máy chủ với cổng và mật khẩu, các máy khác nối vào theo IP) hoặc qua Internet với broker MQTT và mã phòng. Nó không đồng bộ file: không có bản sao nào được tải về máy, chỉ có thay đổi của ô được gửi đi.

Hai điểm hay vấp: mọi máy trong phiên phải nhập Mật khẩu Dữ liệu giống hệt nhau (gói tin được mã hoá bằng mật khẩu này), và đóng cửa sổ không có nghĩa là thoát phiên — muốn dừng hẳn phải chạy Ngắt kết nối.

14. Tự động lưu trữ PDF theo ngày ​

Script PowerShell chạy mỗi tối:

powershell
$today = Get-Date -Format 'yyyy-MM-dd'
$src = 'D:\Output\BBNT'
$dst = "D:\Archive\BBNT\$today"

if (-not (Test-Path $dst)) { New-Item -ItemType Directory -Path $dst | Out-Null }
Move-Item -Path "$src\*.pdf" -Destination $dst

Windows Task Scheduler → New Task → Trigger: hằng ngày (Daily) lúc 23:00 → Action: chạy script trên.

→ Thư mục D:\Output\BBNT\ luôn gọn gàng, hồ sơ đã xuất tự xếp theo ngày. Script chỉ đụng tới file, không mở Excel, nên chạy được cả khi không có ai đăng nhập — khác hẳn việc cố điều khiển Excel bằng tác vụ đặt lịch (Microsoft không hỗ trợ tự động hóa Office khi không có người trông; Excel sẽ treo im lặng ở hộp thoại đầu tiên).

15. Nhờ AI dựng và sửa công thức ​

Không có UDF nào nhận yêu cầu tự do cho AI. Phần AI của DVDAddin nằm ở các lệnh ribbon và một hàm giải thích công thức:

  • Trợ lý AI — cửa sổ hỏi đáp; mô tả yêu cầu ("tính tổng cột B, chỉ các hàng có cột A = Hà Nội") và nhận lại công thức.
  • Giải thích công thức (Coach) — bóc tách công thức của ô đang chọn thành từng bước; là cửa sổ không chặn nên chuyển ô rồi bấm Giải thích tiếp được.
  • Sửa lỗi công thức — chẩn đoán #N/A, #VALUE!… và đề xuất công thức thay thế.
  • =dvdAIExplain(F6; TRUE) — giải thích ngay trong ô, tiện khi cần lưu phần diễn giải vào file.

Tất cả đều cần API key khai ở Tùy chọn → Trợ lý AI.

16. Ghi lại thao tác lặp bằng Auto Click ​

Auto Click ghi từng cú click chuột kèm tọa độ và thời điểm thành một bảng trên sheet đang mở (cột STT / Timestamp / X / Y / Wait ms), rồi phát lại theo số vòng lặp bạn đặt.

Điểm mạnh so với trình ghi macro (Macro Recorder) của Excel: nó click được vào bất kỳ cửa sổ nào — phần mềm dự toán, trang web quản lý hồ sơ, phần mềm thiết kế không hỗ trợ macro.

Vì chuỗi thao tác nằm ngay trên sheet nên:

  • Sửa được bằng tay: chỉnh X, Y để dịch vị trí, chỉnh Wait (ms) để chờ phần mềm đích phản hồi lâu hơn.
  • Lưu workbook là lưu luôn kịch bản; gửi file cho người khác là gửi cả quy trình.
  • Bảng được ghi vào sheet đang hoạt động — mở sheet trống trước khi bấm Recorder, nếu không nó sẽ đè lên dữ liệu.

Giới hạn cần nhớ: phát lại theo tọa độ màn hình tuyệt đối (đổi vị trí cửa sổ, đổi độ phân giải hay tỉ lệ hiển thị là click nhầm chỗ) và chỉ mô phỏng click chuột, không gõ phím. Chạy thử với số vòng nhỏ trước khi chạy trên dữ liệu thật.

17. Gọi UDF giữa các workbook ​

  • UDF của DVDAddin được nạp ở mức ứng dụng (XLL), nên mọi workbook đang mở đều gọi được — không phải thêm tham chiếu gì.
  • Macro VBA trong file .xlam của riêng bạn thì ngược lại: workbook muốn dùng phải vào Tools → References trong trình soạn VBA (VBE) và tick tên project đó.
  • File .xlsx chứa công thức dvd* mở trên máy chưa cài add-in sẽ hiện #NAME?. Hãy dán giá trị (Paste Values) trước khi gửi ra ngoài.

18. Sao lưu license trước khi cập nhật Windows ​

Các bản cập nhật tính năng của Windows (23H2 → 24H2…) thường giữ nguyên hồ sơ người dùng (user profile) nhưng có thể làm mất một số nhánh registry. DVDAddin lưu license ở hai chỗ và đọc theo đúng thứ tự sau:

Vị tríNội dung
%LocalAppData%\DVDAddin\license.datBản chính
HKCU\Software\DVD\DVDAddin\Licensing, giá trị LicenseBlobBản dự phòng, dùng khi thư mục trên không ghi được

Thiết lập chung của add-in nằm ở HKCU\Software\DVD\DVDAddin.

Trước khi cập nhật:

powershell
$dst = "$env:USERPROFILE\Documents\DVDAddin-backup"
New-Item -ItemType Directory -Path $dst -Force | Out-Null
Copy-Item "$env:LOCALAPPDATA\DVDAddin\license.dat" "$dst\license.dat" -Force
reg export "HKCU\Software\DVD\DVDAddin" "$dst\dvdaddin-settings.reg" /y

Sau khi cập nhật, nếu license biến mất:

powershell
Copy-Item "$env:USERPROFILE\Documents\DVDAddin-backup\license.dat" `
          "$env:LOCALAPPDATA\DVDAddin\license.dat" -Force

Gặp lỗi Access denied khi add-in ghi license: hoặc file bị đặt thuộc tính chỉ đọc (read-only), hoặc cả thư mục bị chặn (ACL, Controlled Folder Access của Windows Defender, hoặc có thư mục cũ nằm đúng đường dẫn license.dat). Xử lý bằng attrib -r rồi xoá file để add-in tạo lại; nhánh registry ở trên là đường dự phòng khi hệ thống file chặn hẳn.

19. Nhập liệu hàng loạt bằng Nhập nhanh ​

Với bảng khối lượng, nhật ký thi công, sổ vật tư — những thứ phải gõ hàng trăm dòng — Nhập nhanh (Ctrl+Alt+I) tiết kiệm thời gian hơn mọi công thức trong trang này.

Mặc định nó gợi ý các giá trị không trùng lặp lấy từ cột phía trên. Cấu hình nâng cao nằm ở Cài đặt nguồn dữ liệu…: khai quy tắc Vùng đích → Vùng nguồn để buộc add-in lấy gợi ý từ đúng bảng danh mục chuẩn, kể cả ở sheet khác.

Phần đáng giá nhất là điền cả loạt cột cùng lúc: khi vùng đích có cùng số cột và cùng thứ tự cột với vùng nguồn, chọn một dòng trong danh mục sẽ điền trọn dòng đó — gõ "xi mang" ở cột Tên, add-in điền luôn Mã VT, Đơn vị và Đơn giá. Add-in điền theo vị trí cột (cột nguồn thứ nhất vào cột đích thứ nhất…); phần mapping cột trong hộp thoại hiện chưa có tác dụng, nên hãy sắp cột vùng đích đúng thứ tự cột nguồn.

Bật Tự động hiện gợi ý khi đang ngồi nhập liệu để cửa sổ tự bật lên mỗi lần chọn ô; tắt đi khi quay lại làm công thức. Đã tắt rồi vẫn gọi được bằng Ctrl+Alt+I.

Lưu ý: quy tắc gắn theo địa chỉ vùng, nên chèn/xoá dòng cột làm lệch vùng đích thì phải mở lại hộp thoại để cập nhật địa chỉ.

20. Cập nhật add-in cho nhiều máy ​

Kiểm tra cập nhật chỉ kiểm tra phiên bản và mở trang tải — không tự cài. Quy trình để cả tổ dùng chung một bản:

  1. Mỗi máy chạy DVD Addin → Thông tin → Trợ giúp → Kiểm tra cập nhật, đối chiếu số phiên bản.
  2. Máy nào có bản mới thì bấm Tải về (hoặc dùng Tải Tool để mở thẳng liên kết bộ cài).
  3. Đóng hết Excel — kể cả tiến trình EXCEL.EXE còn sót lại trong Task Manager. File XLL đang nạp bị khoá, cài đè khi Excel còn mở sẽ báo lỗi hoặc để lại phiên chạy mã cũ.
  4. Chạy bộ cài đè lên C:\DVDAddin, mở lại Excel, kiểm tra số phiên bản ở Giới thiệu.

Xác nhận đúng bản đã nạp bằng cách so StartTime của Excel với LastWriteTime của XLL — xem mục 7 ở trên.

Khi triển khai cho nhiều máy cùng lúc, lưu ý đăng ký XLL nằm ở HKCU\Software\Microsoft\Office\<ver>\Excel\Options dưới các giá trị OPEN, OPEN1… nên script triển khai phải chạy theo từng hồ sơ người dùng (user profile), không phải theo máy.

Liên quan ​

Phát hành theo giấy phép DVDAddin.