1915 indochine 9.8 su101915 indochine 90286 student

Home » Tài liệu kế toán » Các hàm hỗ trợ tiếng Việt

Các hàm hỗ trợ tiếng Việt

Để phục vụ cho các bảng tính sử dụng các bảng mã tiếng Việt như Unicode, VNI Windows, ABC-TCVN3, cần có một số hàm viết riêng cho các bảng mã đó.
Trước đây tôi đã viết một số hàm hỗ trợ tiếng Việt cho 3 bảng mã trên. Qua sử dụng đã được các bạn góp ý, tôi đã chỉnh lại và hệ thống lại để các bạn tiện sử dụng.

images (5)
1. Sắp xếp
Dùng để sắp xếp danh sách theo tiếng Việt theo quy tắc không dấu, sắc, huyền, hỏi, ngả, nặng.
- Ví dụ SortUni(“Hổ trợ tiếng Việt”) > “hoz3 trozz5 tiezng1 viezt5”.
- Với dữ liệu là họ tên, kết hợp với hàm DaoTen để sắp xếp theo tên. Ví dụ Sort(DaoTen(hoten))
SortUni(text): Sắp xếp danh sách Unicode
SortVn3(text): Sắp xếp danh sách ABC-TCVN3
SortVni(text): Sắp xếp danh sách VNI Windows
2. Chuyển bảng mã
Chuyển từ bảng mã này sang bảng mã khác. Ví dụ ô A1 đang sử dụng font .VnTime nuốn chuyển sang Unicode, công thức =Vn3Uni(A1), sau khi chuyển xong định dạng lại font Time New Roman.
UniVn3(text): Chuyển bảng mã Unicode sang ABC-TCVN3
UniVni(text): Chuyển bảng mã Unicode sang VNI Windows
Vn3Uni(text): Chuyển bảng mã ABC-TCVN3 sang Unicode
Vn3Vni(text): Chuyển bảng mã ABC-TCVN3 sang VNI Windows
VniUni(text): Chuyển bảng mã VNI Windows sang Unicode
VniVn3(text): Chuyển bảng mã VNI Windows sang ABC-TCVN3

3. Ngày tháng (riêng cho Unicode)
Chuyển thứ, tháng từ 1 ngày sang tiếng Việt. Ví dụ WeekdayUni (“10/08/2007”) > “Thứ sáu”
WeekdayUni(ngay): Thứ trong tuần (Chủ nhật, Thứ hai, …)
MonthUni(ngay): Tháng trong năm (Tháng giêng, Tháng hai, …)

4. Xử lý chuổi (riêng cho Unicode)
CodeUni(text): Chuyển chuổi Unicode sang số mã (tương tự hàm CODE của Excel). Ví dụ CodeUni(“ỷ”) > 7927
ProperUni(text): Chuyển câu sang Chữ Hoa Đầu Từ. Ví dụ ProperUni(“giải pháp excel”) > “Giải pháp Excel”
VbaUni(text): chuyển chuổi Unicode sang cách viết kết hợp hàm ChrW dùng cho nhập chuổi Unicode trong Editor VBA.
Ví dụ: UniVba(“Giải pháp”) > “Gi” & ChrW(7843) & “i pháp”

5. Đọc số tiếng Việt
Do cách đọc số chưa thống nhất (105 > một trăm linh năm) nên trước đây tôi viết cách đọc theo sách giáo khoa. Nhưng thực tế, nhiều nơi có cách đọc “linh” khác nhau như “lẻ”, “không”.
Mặc khác có khi viết hoa ký tự đầu, có khi không. Được các bạn góp ý, tôi viết lại hàm đọc số linh hoạt hơn, cho phép bạn diễn đạt theo ý riêng của mình.
DocSoUni(conso, doiso1, doiso2): Chuyển số sang sang đọc số cho Unicode
DocSoVni(conso, doiso1, doiso2): Chuyển số sang sang đọc số cho VNI Windows
DocSoVn3(conso, doiso1, doiso2): Chuyển số sang sang đọc số cho ABC-TCVN3
Hàm có 3 đối số:
conso: bắt buộc
doiso1: không bắt buộc, ngầm định “linh”. Bạn nhập vào chuổi nào vào doiso1 thì “linh” sẽ thay bằng chuổi đó.
doiso2: không bắt buộc, ngầm định 0 > viết hoa ký tự đầu tiên, 1 > không viết hoa.
Ví dụ: Docso(105) > Một trăm linh năm
_____Docso(105,”lẻ”,1) > một trăm lẻ năm

6. Họ tên
TachHo(hoten): Tách họ, tên đệm
TachTen(hoten): Tách tên
DaoHoTen(hoten): Đảo thứ tự họ, tên đệm, tên. Hàm này hổ trợ cho xếp danh sách họ tên.
Ví dụ: TachHo(“pham duy long”) > “pham duy”
_____TachTen(“pham duy long”) > “long”
_____DaoTen(“pham duy long”) > “long duy pham”

Do các hằng CodUni, StrVn3, StrVni, StrDau, StrMa dùng chung cho nhiều hàm nên các bạn nên để đầu Module.

(Đây là tiện ích do Thầy quá cố Phạm Duy Long thực hiện.)

Tập tin đính kèm Tập tin đính kèm

Comments

comments