Có một chuyện khá buồn cười nhưng cũng… hơi cay 😄. Bạn dành cả buổi làm một file Excel 2016 cực xịn: có nút bấm, có form nhập liệu, Macro chạy mượt. Test trên máy mình – hoàn hảo.
Gửi cho đồng nghiệp.
Vài phút sau, họ nhắn lại:
“File này bị lỗi rồi, bấm không được.”
Ủa? Mới test xong mà?
Mở lại, kiểm tra, chạy bình thường. Nhưng bên kia vẫn lỗi. Và nếu để ý kỹ, rất có thể bạn sẽ thấy cái tên quen thuộc: ActiveX.
Đây chính là lúc câu chuyện 32-bit và 64-bit bắt đầu “gây drama”.
1. ActiveX là gì mà “nhạy cảm” vậy?
Nếu bạn từng chèn nút bấm, TextBox hay ComboBox trong Excel dạng nâng cao, thì bạn đã dùng ActiveX rồi đó.
Nó cho phép:
- Tạo giao diện đẹp hơn
- Tương tác linh hoạt hơn
- Kết hợp tốt với VBA
Nghe rất “xịn”.
Nhưng có một điều quan trọng:
👉 ActiveX phụ thuộc rất nhiều vào môi trường hệ thống
Và đặc biệt là:
👉 Phiên bản Office 32-bit hay 64-bit
2. 32-bit vs 64-bit – khác nhau không chỉ là con số
Nghe thì đơn giản, nhưng hậu quả lại không nhỏ.
Office 2016 có 2 bản:
- 32-bit
- 64-bit
Điểm khác biệt:
👉 Cách xử lý bộ nhớ
👉 Thư viện hỗ trợ
👉 Khả năng tương thích
Và vấn đề nằm ở đây:
👉 Nhiều control ActiveX chỉ hoạt động ổn định trên 32-bit
👉 Khi chạy trên 64-bit → lỗi
Nói kiểu dễ hiểu:
👉 Bạn viết code theo “ngôn ngữ 32-bit”
👉 Máy kia chỉ hiểu “64-bit”
Thế là… không nói chuyện được 😄.
3. Dấu hiệu nhận biết lỗi ActiveX trong Office 2016
Không phải lúc nào cũng hiện rõ “lỗi 32/64-bit”, nhưng bạn có thể nhận ra qua các biểu hiện:
👉 Nút bấm không hoạt động
👉 Form bị mất hoặc không load
👉 Control hiển thị sai vị trí
👉 VBA báo lỗi khi gọi đối tượng
Thậm chí có trường hợp:
👉 File mở lên bình thường
👉 Nhưng click là lỗi ngay
Đây là kiểu lỗi khiến bạn “nghi ngờ bản thân”, nhưng thật ra lỗi không nằm ở bạn 😄.
4. Nguyên nhân – không chỉ do 32-bit và 64-bit
Đúng là khác bit là nguyên nhân chính. Nhưng chưa đủ.
❌ File .exd bị lỗi
👉 Đây là file cache của ActiveX
👉 Khi bị lỗi → control không hoạt động
❌ Thiếu thư viện
👉 Máy nhận file không có control tương ứng
❌ Office chưa cập nhật
👉 Một số bản update từng gây lỗi ActiveX
❌ Bị chặn bởi bảo mật
👉 Trust Center không cho phép ActiveX chạy
5. Cách sửa lỗi ActiveX 32-bit/64-bit trong Office 2016
Đây là phần “gỡ rối” thực tế nhất.
Cách 1: Xóa file .exd
Nghe đơn giản nhưng hiệu quả bất ngờ.
👉 Vào:
%temp%- Hoặc thư mục Excel
👉 Tìm file .exd
👉 Xóa
👉 Mở lại Excel
Nhiều trường hợp fix được ngay lập tức.
Cách 2: Đồng bộ phiên bản Office
👉 Máy A: 32-bit
👉 Máy B: 64-bit
✔ Cách tốt nhất:
- Dùng cùng phiên bản
Nếu không thể:
→ Phải chỉnh code phù hợp
Cách 3: Dùng code tương thích 2 nền
Nếu bạn viết VBA nâng cao:
MsgBox “Đang chạy 64-bit”
#Else
MsgBox “Đang chạy 32-bit”
#End If
Cách này giúp code linh hoạt hơn.
Cách 4: Thay ActiveX bằng Form Controls
👉 Không cần quá phức tạp?
✔ Dùng Form Controls
Ưu điểm:
- Ít lỗi
- Tương thích tốt
- Dễ dùng

6. Mẹo tránh lỗi từ đầu – đỡ phải “đau đầu” về sau
Ai làm VBA lâu rồi sẽ hiểu: sửa lỗi còn mệt hơn viết lại 😄.
👉 Hạn chế dùng ActiveX nếu không cần thiết
👉 Test file trên nhiều máy
👉 Tránh dùng control lạ
👉 Luôn backup
Một mẹo rất thực tế:
👉 Nếu file dùng cho nhiều người
→ Ưu tiên Form Controls
Dù ít “xịn” hơn, nhưng ổn định.
7. Trải nghiệm thật – lỗi này “ám ảnh” thế nào
Nói thật nhé.
Lỗi ActiveX không phải kiểu lỗi “rõ ràng”. Nó là dạng:
👉 Máy này chạy → máy kia lỗi
👉 Hôm nay chạy → mai lỗi
Khiến bạn mất thời gian debug mà không biết sai ở đâu.
Có khi bạn sửa code cả tiếng, cuối cùng chỉ cần… xóa file .exd là xong 😄.
Nghe hơi “trớ trêu”, nhưng rất nhiều người đã gặp.
Kết lại – hiểu bản chất là đỡ “đau đầu”
Lỗi ActiveX trong Office 2016 không phải là thứ quá phức tạp. Nhưng nếu không hiểu, nó sẽ khiến bạn rất mệt.
Chỉ cần bạn nắm được:
- Sự khác biệt 32-bit và 64-bit
- Cách ActiveX hoạt động
- Một vài cách xử lý cơ bản
Thì mọi thứ sẽ dễ dàng hơn rất nhiều.
Và lần sau nếu gặp lỗi, bạn có thể tự tin nói:
👉 “À, chắc lại do ActiveX thôi” 😄

