PDA

View Full Version : Công cụ hỗ trợ tiếng Việt cho Excel



phamduylong
03-07-07, 08:03 PM
Trên diễn đàn có nhiều bạn hỏi về xử lý tiếng Việt trên Excel như sắp xếp, chuyển từ bảng mã này sang bảng mã khác, tách họ, tách tên, sắp xếp, …
Tôi đưa ra chủ đề này để chúng ta cùng tạo những công cụ hỗ trợ tiếng Việt cho Excel phong phú hơn.
Tôi có viết một số hàm để thực hiện việc các việc đó. Nhưng để sử dụng thuận tiện hơn, tôi viết macro để người sử dụng không biết tên hàm, công thức cũng có thể sử dụng được bằng cách thao tác qua form bằng tiếng Việt. Tôi đã viết 2 tập tin TVEXCEL01.xls và TVEXCEL.xla, mỗi tập tin chứa một số công cụ phục vụ một số yêu cầu hỗ trợ tiếng Việt. Do chưa có thời gian nên tôi chưa gom chung tất cả công cụ thành một tập tin.

A. Tập tin TVEXCEL.xla có các công cụ:
1. Chuyển mã VNI, TCVN3-ABC, Unicode: chuyển qua lại giữa 3 bảng mã VNI-Windows, ABC TCVN3, Unicode (nên sử dụng bên TVEXCEL01).
2. Sắp sếp (Sort): sắp xếp họ tên tiếng Việt.
3. Chuyển câu (Change Case): chuyển qua lại giữa CHỮ HOA, chữ thường và Chữ Hoa Đầu Từ.
4. Đọc số tiếng Việt: chuyển từ số sang cách đọc tiếng Việt (nên sử dụng bên TVEXCEL01)
5. Tách ghép Họ Tên: tách họ tên 1 cột ra 2 cột, ghép họ tên 2 cột thành 1 cột.

B. Tập tin TVEXCEL01.xla có các công cụ:
1. Add-In TVEXCEL01: gán TVEXCEL01 vào Add-Ins.
2. Chuyển bảng mã: chuyển qua lại giữa 3 bảng mã VNI-Windows, ABC TCVN3, Unicode.
3. Đọc số tiếng Việt: chuyển từ số sang cách đọc tiếng Việt
4. Lịch 1920-2099: cuốn lịch cho Excel.
Tập tin TVEXCEL01 viết sau nên hoàn chỉnh hơn TVEXCEL, 2 công cụ chuyển mã và đọc số bạn nên sử dụng TVEXCEL01. Tôi gởi kèm 2 trang Web hướng dẫn sử dụng TVEXCEL01 là Chuyenma.zip và Docso.zip

vungoc
03-07-07, 09:08 PM
Cảm ơn Thầy Long ! Những file này rất cần thiết và hữu ích cho người dùng office.

Chúc Thầy Long luôn mạnh khỏe & thành đạt !

levanduyet
07-07-07, 11:16 AM
Xin chào Anh phamduylong,
Sau khi thử tôi xin phép được góp ý về phần add-in của anh như sau:
_Khi dùng menu chuyển bảng mã, nếu không có workbook nào đang mở thì chương trình thông báo, nhưng sau đó vẫn hiện form ra. Theo tôi nên không cho hiện form ra.
Tương tự đối với các menu khác.
_Còn lỗi như sau:

http://i2.photobucket.com/albums/y4/levanduyet/ERR_VEXCEL1.jpg

Nên chăng anh dùng module tôi đã giới thiệu, để ngăn chặn các lỗi và ghi ra một file text. Như vậy người dùng sẽ cảm thấy dễ chịu hơn. Sau đó người dùng có thể gởi file báo lỗi này về cho anh.
Anh xem lại lỗi này.

http://i2.photobucket.com/albums/y4/levanduyet/ERR_VEXCEL2.jpg

Thông thường đối với lỗi này, anh nên khai báo tường minh.

Form vẫn hiện ra

http://i2.photobucket.com/albums/y4/levanduyet/ERR_VEXCEL3.jpg

Và cuối cùng dẫn đến báo lỗi sai

http://i2.photobucket.com/albums/y4/levanduyet/ERR_VEXCEL4.jpg

Chúc anh thành công trong phiên bản sau.

Lê Văn Duyệt

phamduylong
07-07-07, 12:54 PM
Cám ơn góp ý của Anh Duyệt.
Tôi sẽ kiểm tra lại và chỉnh lại những sai sót. Mình viết và chạy thử thấy không vấn đề, nhưng chưa thử hết các trường hợp. Các anh em nếu có phát hiện lỗi báo lên diễn đàn để tôi khắc phục những lỗi giúp TVEXCEL hoàn thiện hơn.

tnvtuan
01-08-07, 04:29 PM
Xin chào anh Phạm Duy Long!
cảm ơn anh rất nhiều vì chương trình rất hay, tuy nhiên tôi muốn sửa một điểm nhưng không biết cách nào để sửa. Đó là tôi muốn chữ số không sẽ đọc là không chứ không đọc là linh. Xin anh chỉ giúp cho tôi cảm ơn rất nhiều

phamduylong
01-08-07, 08:11 PM
Xin chào anh Phạm Duy Long!
cảm ơn anh rất nhiều vì chương trình rất hay, tuy nhiên tôi muốn sửa một điểm nhưng không biết cách nào để sửa. Đó là tôi muốn chữ số không sẽ đọc là không chứ không đọc là linh. Xin anh chỉ giúp cho tôi cảm ơn rất nhiều
Password là phamduylong hoặc pham_duy_long
Vào Module > Mod_Fun chỉnh lại "linh" thành "không" các function Docso (6 function cho 3 bảng mã)

duongsatdn
06-08-07, 09:58 AM
Anh Long ơi! Công cụ của anh tôi thấy thật là hay ở chỗ nó có thể chuyển mã cả trong nội dung công thức. (điều mà một số công cụ khác như Unikey hoặc VietkeyO chưa làm được). Cảm ơn anh nhiều.
Tuy nhiên tôi có một trường hợp như sau: Nội dung sheet hoặc cả file nếu chủ yếu dùng font TCVN3, trong đó có một số cell lại dùng font Unicode (thậm chí trong cả một số cell chứa công thức), khi dùng chuyển mã sang Unicode thì công cụ này cho ra kết quả đúng với các cell là TCVN3, còn các cell định dạng là Uni thì lại không hiển thị được tiếng Việt. Có thể anh phát triển thêm:
- Nếu nhận dạng cell nào đó đã định dạng đúng font đích rồi thì bỏ qua... (hoặc tương tự như vậy).
- Có thể chọn một số cell để chuyển mã.
Cảm ơn anh.

phamduylong
08-08-07, 09:15 PM
khi dùng chuyển mã sang Unicode thì công cụ này cho ra kết quả đúng với các cell là TCVN3, còn các cell định dạng là Uni thì lại không hiển thị được tiếng Việt. Có thể anh phát triển thêm:
- Nếu nhận dạng cell nào đó đã định dạng đúng font đích rồi thì bỏ qua... (hoặc tương tự như vậy).
- Có thể chọn một số cell để chuyển mã.
Cảm ơn anh.
Cám ơn em đã góp ý. Đúng là có một số bảng tính lại sử dụng nhiều bảng mã, tôi cũng nghĩ đến vấn đề này. Nhưng về kỹ thuật có một trở ngại là nếu phải kiểm tra bảng mã từng ô để chuyển thì chạy rất chậm, tôi sẽ tìm giải pháp nào tốt hơn để khắc phục.

phamduylong
10-08-07, 10:13 AM
Để 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.

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.

phamduylong
10-08-07, 10:16 AM
Khai báo hằng
Để đầu module, do hằng dài nên tôi không ghi đầu đủ tại dây. Các bạn xem trong tập tin đính kèm


Const CodUni = "225 224 7843 227 7841 259 7855 7857 7859 7861 ... "
Const StrVn3 = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏѪÕÒ ÓÔÖÝ×ØÜÞãßáçé¬í... "
Const StrVni = "aùaøaûaõaïaêaéaèaúaüaëaâaáaàaåaãa eùeøeûeõeïeâ... "
Const StrDau = "12345 12345 1234512345 123451234512345 12345... "
Const StrMa = "a a a a a az az az az az az azzazzazzazzazzazze ..."
Dim ArrUni


Hàm sắp xếp


Function SortUni(text As String) As String
text = text & " "
madau = " "
For n = 1 To Len(text) - 1
kytu = Mid(text, n, 1)
codkytu = AscW(kytu) & String(5 - Len(CStr(AscW(kytu))), " ")
vitri = (InStr(1, CodUni, codkytu, 0) + 4) / 5
If vitri >= 1 Then
kytu = Trim(Mid(StrMa, vitri * 3 - 2, 3))
If madau = " " Then madau = Mid(StrDau, vitri, 1)
End If
If Mid(text, n + 1, 1) = " " Then
newtext = newtext & kytu & Trim(madau)
madau = " "
Else
newtext = newtext & kytu
End If
Next
SortUni = newtext
End Function

Function SortVn3(text As String) As String
text = text & " "
madau = " "
For n = 1 To Len(text) - 1
kytu = Mid(text, n, 1)
vitri = InStr(1, StrVn3, kytu, 0)
If vitri >= 1 Then
kytu = Trim(Mid(StrMa, vitri * 3 - 2, 3))
If madau = " " Then madau = Mid(StrDau, vitri, 1)
End If
If Mid(text, n + 1, 1) = " " Then
newtext = newtext & kytu & Trim(madau)
madau = " "
Else
newtext = newtext & kytu
End If
Next
SortVn3 = newtext
End Function

Function SortVni(text As String) As String
text = text & " "
madau = " "
For i = 1 To Len(text)
kytu = Mid(text, i, 2)
vitri = InStr(1, StrVni, kytu, 0)
If vitri = 0 Or Left(kytu, 1) = " " Or Right(kytu, 1) = " " Or Len(kytu) = 1 Then
kytu = Mid(text, i, 1)
vitri = InStr(1, StrVni, kytu, 0)
If (Asc(kytu) >= 65 And Asc(kytu) <= 122) Or kytu = " " Then
vitri = 0
End If
Else
i = i + 1
End If
If vitri > 0 And kytu <> " " Then
kytu = Trim(Mid(StrMa, (vitri + 1) * 3 / 2 - 2, 3))
If madau = " " Then madau = Mid(StrDau, (vitri + 1) / 2, 1)
End If
If Mid(text, i + 1, 1) = " " Then
newtext = newtext & kytu & Trim(madau)
madau = " "
Else
newtext = newtext & kytu
End If
Next
SortVni = Left(newtext, Len(newtext) - 1)
End Function

phamduylong
10-08-07, 10:25 AM
Hàm ngày tháng


Function WeekdayUni(ngay As Date) As String
ArrUni = Array("", "Ch" & ChrW(7911) & " nh" & ChrW(7853) & "t", "Th" & ChrW(7913) & " hai", "Th" & ChrW(7913) & " ba", "Th" & ChrW(7913) &
____________" t" & ChrW(432), "Th" & ChrW(7913) & " n" & ChrW(259) & "m", "Th" & ChrW(7913) & " sáu", "Th" & ChrW(7913) & " b" & ChrW(7843) & "y")
WeekdayUni = ArrUni(Weekday(ngay, vbSunday))
End Function

Function MonthUni(ngay As Date) As String
ArrUni = Array("", "Tháng giêng", "Tháng hai", "Tháng ba", "Tháng t" & ChrW(432), "Tháng n" & ChrW(259) & "m", "Tháng sáu", "Tháng b" &
___________ChrW(7843) & "y", "Tháng tám", "Tháng chín", "Tháng m" & ChrW(432) & ChrW(7901) & "i", "Tháng m" & ChrW(432) & ChrW(7901) &
___________"i m" & ChrW(7897) & "t", "Tháng m" & ChrW(432) & ChrW(7901) & "i hai")
MonthUni = ArrUni(Month(ngay))
End Function


Hàm xử lý chuỗi


Function CodeUni(text As String) As Integer
CodeUni = AscW(text)
End Function

Function ProperUni(text As String) As String
text = " " & LCase(text)
For n = 2 To Len(text)
kytu = Mid(text, n, 1)
If Mid(text, n - 1, 1) = " " Then
If AscW(kytu) < 256 Then
kytu = UCase(kytu)
Else
kytu = ChrW(AscW(kytu) - 1)
End If
End If
newtext = newtext & kytu
Next
ProperUni = newtext
End Function

Function VbaVba(text As String) As String
If text = "" Then
VbaVba = """"""
Else
text = text & " "
If AscW(Left(text, 1)) < 256 Then VbaUni = """"
For n = 1 To Len(text) - 1
uni1 = Mid(text, n, 1)
uni2 = AscW(Mid(text, n + 1, 1))
If AscW(uni1) > 255 And uni2 > 255 Then
VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & "
ElseIf AscW(uni1) > 255 And uni2 < 256 Then
VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & """
ElseIf AscW(uni1) < 256 And uni2 > 255 Then
VbaUni = VbaUni & uni1 & """ & "
Else
VbaUni = VbaUni & uni1
End If
Next
If Right(VbaUni, 4) = " & """ Then
VbaUni = Mid(VbaUni, 1, Len(VbaUni) - 4)
Else
VbaUni = VbaUni & """"
End If
End If
End Function


Hàm họ tên


Function TachHo(hoten As String) As String
hoten = Trim(hoten)
If hoten = "" Then
TachHo = ""
Else
vt = InStrRev(hoten, " ", Len(hoten))
If vt = 0 Then
TachHo = ""
Else
TachHo = Trim(Mid(hoten, 1, vt))
End If
End If
End Function
Function TachTen(hoten As String) As String
hoten = Trim(hoten)
If hoten = "" Then
TachTen = ""
Else
vt = InStrRev(hoten, " ", Len(hoten))
If vt = 0 Then
TachTen = hoten
Else
TachTen = Mid(hoten, vt + 1)
End If
End If
End Function

Function DaoHoTen(hoten As String) As String
hoten = " " & Trim(hoten)
If hoten = " " Then
DaoHoTen = ""
Else
Do
vt = InStrRev(hoten, " ", Len(hoten))
tendao = tendao & Mid(hoten, vt)
hoten = Left(hoten, vt - 1)
If vt = 1 Then Exit Do
Loop
DaoHoTen = Trim(tendao)
End If
End Function


Các bạn nên lấy code từ tập tin “Ho tro Tieng Viet VBA.xls” vì các mã trong các hằng rất khó nhập.

winplei
23-06-08, 09:32 AM
Chào anh Long!
Em mới sử dụng chương trình này nên cũng không được rõ lắm. Sau khi chọn Add-Ins thì nhận được thông báo lỗi sau (Hình). Nhờ anh và mọi người hướng dẫn cách khắc phục.

chibi
13-10-08, 02:29 PM
Gửi thầy phamduylong và các bạn quan tâm.
Tôi đang dúng tiện ích chuyển đổi font của thầy, nhưng bất lực với file đính kèm, thầy và các bạn giúp tôi nhé.
Chúc vui vẻ.

phamduylong
13-10-08, 11:33 PM
Gửi thầy phamduylong và các bạn quan tâm.
Tôi đang dúng tiện ích chuyển đổi font của thầy, nhưng bất lực với file đính kèm, thầy và các bạn giúp tôi nhé.
Chúc vui vẻ.
Chuyển được chứ chibi. Nhưng tốc độ chuyển chậm.
Bạn dùng hàm chỉnh tiếp họ tên (nhập không thống nhất chữ hoa, chữ thường)

chibi
15-10-08, 05:42 AM
Cảm ơn thầy Long. Em chạy trên máy khác thấy bình thường. Không hiểu tại sao nữa. Em mô tả để thầy xem nhé (Máy không bình thường): Cấu hình không thấp (DualCore 1.86, 1G RAM), mọi thứ trên Excel chạy bình thường (Đại loại không virus), chỉ chuyển được <=100 dòng dữ liệu trong file mà em gửi trước.

paulsteigel
06-12-08, 09:23 AM
Có thể bạn sử dụng Addin chuyên về chuyển mã văn bản này thử xem.
Nội dung có tại bài viết http://www.giaiphapexcel.com/forum/showthread.php?t=117&page=4
Tập tin đính kèm là:
http://www.giaiphapexcel.com/forum/attachment.php?attachmentid=39487&d=1261908882
Hi vọng sẽ giúp ích được các bạn.

ggoo0105
26-02-09, 11:30 AM
Sao vậy nè, các file bạn up lên mình down về thì hoàn toàn không mở được !! bạn giúp mình với nhé

hoangdanh282vn
26-02-09, 12:39 PM
Sao vậy nè, các file bạn up lên mình down về thì hoàn toàn không mở được !! bạn giúp mình với nhé

Nếu bạn down file về mà mở không lên thì có thể do máy bạn chưa cài phần mềm giải nén. Bạn down phần mềm nén và giải nén file như Winrar hay Winzip về, cài vào máy rồi dùng nó mở file lại xem sao nha.

nautinus
21-05-09, 10:57 AM
Mình thấy mọi người thảo luận rất sôi nổi.
Mình có sưu tầm được tiện ích sắp sếp tiếng việt rất hay.
Mình đã dùng và thấyđơnn giản nhưng hữu ích.
Mọi người tham khảo nhé.

tnfsmith
05-10-10, 02:50 PM
Xin hỏi ai có code loại bỏ dấu tiếng việt trong bảng tính excel. Share mình cái.

Ếch Xanh
05-10-10, 03:44 PM
Xin hỏi ai có code loại bỏ dấu tiếng việt trong bảng tính excel. Share mình cái.

http://www.giaiphapexcel.com/forum/showthread.php?3849-Loại-khoảng-trắng-bỏ-dấu-tiếng-việt&p=27198#post27198

Bạn vào đường dẫn đó đi nhé

NH_DK
05-10-10, 03:49 PM
http://www.giaiphapexcel.com/forum/showthread.php?3849-Loại-khoảng-trắng-bỏ-dấu-tiếng-việt&p=27198#post27198

Bạn vào đường dẫn đó đi nhé

Anh Learning_Excel ơi, dùng cái AddIn này như thế nào?

Ếch Xanh
05-10-10, 03:50 PM
Anh Learning_Excel ơi, dùng cái AddIn này như thế nào?

Bạn xài Excel 2003 hay 2007?

Với XL2007: Mở AddIns ra, Chọn Save As, tại Save as type: Chọn "Excel Add-in" hoặc "Excel 97-2003 Add-in" nếu bạn muốn dùng nó cho XL2003.

Sau khi Save xong, Chọn vào Excel Option, chọn vào nút Add-ins, trong bảng này, chọn vào Manage: "Excel Add-in" bấm vào Go, sau đó bảng Add-ins hiện ra, bạn check vào tên AddIn vừa add. Vậy là xong rồi đó, cứ thế mà dùng function hay sub thôi.

Với XL2003: Mở AddIns ra, Chọn Save As, tại Save as type: Chọn "MicroSoft Excel Add-in"

Sau khi Save xong, Chọn vào Tool > Add-Ins..., bảng Add-ins hiện ra, bạn check vào tên AddIn vừa add.

NH_DK
05-10-10, 03:58 PM
Bạn xài Excel 2003 hay 2007?

Em dùng Office 2003 anh ah!

quôcbinhvip
08-11-10, 10:33 AM
mình muốn hiển thị tiếng việt trên thanh công thức nó bị lỗi như trong hình làm sao sửa để đọc được mong các bạn giúp.thanks

vuslong
08-11-10, 10:12 PM
mình muốn hiển thị tiếng việt trên thanh công thức nó bị lỗi như trong hình làm sao sửa để đọc được mong các bạn giúp.thanks

Hiện nay, tôi thấy người dùng ở Việt Nam thường hay sử dụng 03 loại Font để gõ Tiếng Việt:

1/ TCVN3: .VnTime; .VNTIMEH; .VnArial......(font mô tả trong bài viết trên)
2/ VNI Windows: VNI-Times; VNI-Helve; VNI-Franko.........
3/ Unicode: Arial, Time New Roman; Tahoma.........

Trong Excel bạn gõ chữ Việt với các bảng mã TCVN3 và VNI Windows thì thanh Formula Bar sẽ hiển thị như bạn diễn tả trên, không phải lỗi do bạn. Và nếu thực hiện bảng tính với các bảng mã này bạn sẽ không sử dụng hiệu quả công cụ Find and Replace được, vì Excel không hiểu.

Do vậy hiện nay người ta hay sử dụng bảng mã Unicode, kể cả trong văn bản.

nghiaphuc
08-11-10, 10:44 PM
mình muốn hiển thị tiếng việt trên thanh công thức nó bị lỗi như trong hình làm sao sửa để đọc được mong các bạn giúp.thanks
Bạn vào Tools\Options, chọn tab General và chọn Font mặc định (Standard font) trùng với bảng mã của font bạn sử dụng trong bảng tính rồi khởi động lại Excel là được. Như trong hình, bạn có thể chọn Standard font là .vnTime hoặc font TCVN3 nào đó đều được.


Trong Excel bạn gõ chữ Việt với các bảng mã TCVN3 và VNI Windows thì thanh Formula Bar sẽ hiển thị như bạn diễn tả trên, không phải lỗi do bạn. Và nếu thực hiện bảng tính với các bảng mã này bạn sẽ không sử dụng hiệu quả công cụ Find and Replace được, vì Excel không hiểu.
Hình như bạn có nhầm lẫn gì đó, phần màu đỏ phía trên, mình đã giải thích, còn phần màu đỏ phía dưới thì lý do gì mà Excel không hiểu nhỉ? Bạn nhập bảng tính với bảng mã gì thì khi sử dụng Find and Replace, bạn cũng sử dụng bảng mã đó là được chứ có sao đâu.

vuslong
08-11-10, 11:22 PM
Thanks nghiaphuc. Không phải tôi nhầm lẫn mà bài này tôi chưa học, hôm đó đi đâu ta???

xsatteam
07-09-11, 01:24 PM
em đã thực hiện việc nạp các addin này vào cho file ẽxcel

nhưng mà mỗi khi mở file này , lại phải làm lại động tác nạp các add in , như vậy quá mất thời gian và rắc rối ,

các anh chị làm ơn cho hỏi có cách nào nhanh hơn không !

thachcs
30-11-11, 08:46 AM
Mình đang dùng TVEXEL01 Trên Win XP thì rất tốt, nhưng trên Win 7 thì khung hiển thị bị toàn màu đen, không nhìn thấy kết quả trong giao diện chương trình.

rongnho1988
10-12-11, 01:13 PM
Trên diễn đàn có nhiều bạn hỏi về xử lý tiếng Việt trên Excel như sắp xếp, chuyển từ bảng mã này sang bảng mã khác, tách họ, tách tên, sắp xếp, …
Tôi đưa ra chủ đề này để chúng ta cùng tạo những công cụ hỗ trợ tiếng Việt cho Excel phong phú hơn.
Tôi có viết một số hàm để thực hiện việc các việc đó. Nhưng để sử dụng thuận tiện hơn, tôi viết macro để người sử dụng không biết tên hàm, công thức cũng có thể sử dụng được bằng cách thao tác qua form bằng tiếng Việt. Tôi đã viết 2 tập tin TVEXCEL01.xls và TVEXCEL.xla, mỗi tập tin chứa một số công cụ phục vụ một số yêu cầu hỗ trợ tiếng Việt. Do chưa có thời gian nên tôi chưa gom chung tất cả công cụ thành một tập tin.

A. Tập tin TVEXCEL.xla có các công cụ:
1. Chuyển mã VNI, TCVN3-ABC, Unicode: chuyển qua lại giữa 3 bảng mã VNI-Windows, ABC TCVN3, Unicode (nên sử dụng bên TVEXCEL01).
2. Sắp sếp (Sort): sắp xếp họ tên tiếng Việt.
3. Chuyển câu (Change Case): chuyển qua lại giữa CHỮ HOA, chữ thường và Chữ Hoa Đầu Từ.
4. Đọc số tiếng Việt: chuyển từ số sang cách đọc tiếng Việt (nên sử dụng bên TVEXCEL01)
5. Tách ghép Họ Tên: tách họ tên 1 cột ra 2 cột, ghép họ tên 2 cột thành 1 cột.

B. Tập tin TVEXCEL01.xla có các công cụ:
1. Add-In TVEXCEL01: gán TVEXCEL01 vào Add-Ins.
2. Chuyển bảng mã: chuyển qua lại giữa 3 bảng mã VNI-Windows, ABC TCVN3, Unicode.
3. Đọc số tiếng Việt: chuyển từ số sang cách đọc tiếng Việt
4. Lịch 1920-2099: cuốn lịch cho Excel.
Tập tin TVEXCEL01 viết sau nên hoàn chỉnh hơn TVEXCEL, 2 công cụ chuyển mã và đọc số bạn nên sử dụng TVEXCEL01. Tôi gởi kèm 2 trang Web hướng dẫn sử dụng TVEXCEL01 là Chuyenma.zip và Docso.zip


Pac' Long ơi! E đã cài xong TVEXCEL01 rồi nhưng khi đặt công thức xong thì kết quả lại không viết hoa ở chữ cái đầu tiên, mặt khác cũng không có đơn vị tính "đồng" ở cuối cùng. E phải làm thế nào để khắc phục đây ạ??Pác nào biết nữa thì chỉ giùm E với..!

TrungChinhs
10-12-11, 01:28 PM
Pac' Long ơi! E đã cài xong TVEXCEL01 rồi nhưng khi đặt công thức xong thì kết quả lại không viết hoa ở chữ cái đầu tiên, mặt khác cũng không có đơn vị tính "đồng" ở cuối cùng. E phải làm thế nào để khắc phục đây ạ??Pác nào biết nữa thì chỉ giùm E với..!

Bạn ơi Thầy Long đã về nơi vĩnh hằng nên không xem được bài của bạn!
http://www.giaiphapexcel.com/forum/showthread.php?40643-Vô-Cùng-thương-tiếc-Thầy-Phạm-Duy-Long-vừa-tạ-thế-lúc-3-00AM-27-09-2010/page3

hungvm1980
27-12-11, 04:01 PM
Chào Thầy!
Hiện nay tôi đang sử dụng công cụ của thấy, về mặt tốc độ xử lý vẫn chưa tối ưu thầy ah! Ví dụ một file excel có khoảng >150.000 ký tự thì đợi khá lâu. Thầy xem có thể tối ưu hơn về mặt tốc độ không? Riêng Unikey tôi thấy convert khá nhanh. Chúc thầy mạnh khỏe, hy vọng các phiên bản sau sẽ ưu việt hơn.

hanh0587
10-11-12, 09:00 AM
em đang dùng excel 2007 thi phải làm thế nao?

thongktnl
06-12-12, 09:32 AM
Cảm ơn thầy nhiều, một công cụ thật hữu ích. Thầy không còn nhưng những gì thầy để lại thật quý giá.

live_excel
25-08-13, 01:24 PM
công cụ của các anh hay quá... phải chi em gia nhập diễn đàn sớm hơn thì sẽ biết khá nhiều điều hay từ excel ...

live_excel
25-08-13, 01:28 PM
có điều em thắc mắc rằng khi mình chuyển trên máy từ chữ thường sang chữ hoa trên máy có công cụ hỗ trợ, khi copy file sang qua máy không có công cụ hổ trợ nó có bị mất không, giống như mình dùng công cụ đổi số ra chữ trên máy này khi sang máy khác thì không hiển thị...

quanghan2577
21-10-13, 09:00 AM
Tự nhiên có việc cần tìm. Thấy hay quá. Cảm ơn nha!!!

hian
29-10-13, 06:51 AM
Hay quá! Rất dễ sử dụng.
tks chủ thớt nhé!

minhquang92
13-11-13, 03:47 PM
Em ko sử dụng đc TVEXcel 01, nó báo lỗi: compile error in hidden module: Mod Fun
Nhưng lại vẫn sử dụng đc TVexcel.
EM đã enable macro, sử dụng office 2010 64 bit.
Ai giúp em khắc phục lỗi với ạ !112372