Chuyển mã (Encoding)
Bốn lệnh Chuyển mã trong nhóm Văn bản và Số chuyển văn bản tiếng Việt qua lại giữa ba bảng mã: Unicode, VNI và TCVN3. Bảng mã nguồn của từng ô được tự nhận diện theo tên font, bạn chỉ cần chọn bảng mã đích.
Đây là việc gặp thường xuyên khi tiếp nhận hồ sơ cũ: dự toán, thuyết minh, biên bản lập từ thời dùng .VnTime hoặc VNI-Times, mở trên máy hiện nay hiện ra chuỗi lạ kiểu C«ng t¸c bª t«ng. Sau khi chuyển sang Unicode, dữ liệu tìm kiếm được, VLOOKUP khớp được và copy sang Word/PDF không vỡ chữ.
Các lệnh trong nhóm
| Lệnh | Chức năng |
|---|---|
| Chuyển mã | Mở cửa sổ Chuyển đổi Font: chọn bảng mã đích + phạm vi rộng hơn vùng chọn |
| Sang Unicode | Chuyển vùng đang chọn sang Unicode, đặt font Times New Roman |
| Sang VNI | Chuyển vùng đang chọn sang VNI, đặt font VNI-Times |
| Sang TCVN3 | Chuyển vùng đang chọn sang TCVN3, đặt font .VnTime |
Ba nút "Sang …" chạy ngay trên vùng đang bôi đen, không có hộp thoại. Nút Chuyển mã mở cửa sổ cho phép chọn phạm vi cả sheet hoặc cả workbook.
Cách addin nhận diện bảng mã nguồn
Addin đọc tên font hiện tại của ô:
- Font bắt đầu bằng
.Vn(.VnTime,.VnArial) → coi nội dung là TCVN3. - Font bắt đầu bằng
VNI(VNI-Times,VNI-Helve) → coi nội dung là VNI. - Còn lại (Times New Roman, Arial, Calibri…) → coi nội dung là Unicode.
Nhờ vậy bạn không phải khai báo bảng mã gốc. Nhưng cũng vì vậy, nếu ai đó đã đổi font thủ công mà không chuyển mã — ví dụ ép cả bảng TCVN3 về Arial — thì addin sẽ hiểu nhầm và kết quả sai. Hãy kiểm tra vài ô mẫu trước khi chạy cả sheet.
Quy trình đưa một bộ hồ sơ cũ về Unicode
- Lưu một bản sao file gốc. Kết quả ghi đè trực tiếp lên ô và không hoàn tác được bằng Ctrl+Z.
- Kiểm tra font của vài ô bị lỗi chữ: nếu là
.VnTimehoặcVNI-Timesthì đúng là lỗi bảng mã, xử lý được bằng lệnh này. - Vào tab DVD Addin → nhóm Văn bản và Số → Chuyển mã.
- Trong cửa sổ Chuyển đổi Font, chọn:
- Encoding đích — Unicode (Times New Roman).
- Phạm vi — Vùng chọn, Sheet hiện tại hoặc Tất cả các sheet.
- Giữ tick Bỏ qua ô có công thức để công thức tổng hợp không bị phá.
- Bấm Áp dụng. Cửa sổ không khoá Excel, nên chọn vùng khác rồi bấm Áp dụng tiếp; bấm Đóng khi xong.
- Với vùng nhỏ, nhanh hơn là bôi đen rồi bấm thẳng Sang Unicode. Thanh trạng thái hiện thông báo dạng
Đã chuyển 128 ô sang Uni (font: Times New Roman)rồi tự tắt sau khoảng 8 giây. - Rà lại bố cục: font đích được ép theo bảng mã (Times New Roman / VNI-Times / .VnTime) nên bề rộng chữ thay đổi, có thể phải chỉnh lại độ rộng cột và chiều cao dòng.
Chiều ngược lại cũng dùng đúng quy trình đó: khi phải nộp file theo mẫu cũ, chọn Encoding đích là TCVN3 (.VnTime) hoặc VNI (VNI-Times).
Ví dụ
Bảng khối lượng của một dự án cải tạo, cột "Nội dung công việc" gõ bằng TCVN3, font .VnTime. Bôi đen cột rồi bấm Sang Unicode:
| Trước (font .VnTime) | Sau (Unicode, Times New Roman) |
|---|---|
C«ng t¸c bª t«ng lãt M100 | Công tác bê tông lót M100 |
Cèt thÐp dÇm sµn D<=10 | Cốt thép dầm sàn D<=10 |
X©y têng g¹ch èng dµy 200 | Xây tường gạch ống dày 200 |
Sau bước này mới lọc/nhóm theo tên công việc hoặc dò tìm sang bảng đơn giá được.
Nếu chủ đầu tư yêu cầu nộp lại theo mẫu VNI, bôi đen cùng cột rồi bấm Sang VNI: Bê tông móng đá 1x2 M250 trở thành Beâ toâng moùng ñaù 1x2 M250 — trông lạ trên màn hình nhưng hiển thị đúng khi dùng font VNI-Times.
Mẹo và lưu ý
- Ô công thức luôn được bỏ qua ở ba nút "Sang …", và cửa sổ Chuyển mã bật sẵn tick Bỏ qua ô có công thức. Bỏ tick sẽ động vào cả ô công thức và dễ làm hỏng công thức.
- Phạm vi Tất cả các sheet tác động lên toàn bộ workbook đang mở — kiểm tra kỹ trước khi bấm Áp dụng.
- TCVN3 không có đủ chữ hoa có dấu; tiêu đề viết HOA toàn bộ thường phải chỉnh tay bằng font
.VnTimeHsau khi chuyển. - Máy người nhận phải cài sẵn bộ font tương ứng (
.VnTimecho TCVN3,VNI-Timescho VNI), nếu không họ vẫn thấy chữ lỗi. - Sau khi chuyển sang VNI hoặc TCVN3, các hàm dò tìm/so sánh với dữ liệu Unicode không còn khớp — hãy để bước đổi bảng mã ở cuối, khi đã tính toán xong.
- Chưa chọn vùng nào thì addin báo "Vui lòng chọn vùng dữ liệu." và dừng.
- Lỗi chữ kiểu
Cốngkhông phải lỗi bảng mã font mà là mojibake UTF-8; xử lý bằng mục Sửa lỗi font tiếng Việt trong Smart Data Cleaning….
Xem thêm
- Làm sạch dữ liệu — sửa mojibake và chuẩn hoá dữ liệu sau khi đã thống nhất bảng mã.
- Đổi chữ (Smart Case) — chuẩn hoá hoa/thường sau khi đã về Unicode.
- Xoá dấu — bỏ dấu tiếng Việt để đặt tên file, tạo mã tra cứu.
- Tiện ích văn bản — các lệnh xử lý nội dung ô khác trong cùng nhóm ribbon.