irvine00_54

New Member
Mình có tìm được hàm đổi trước số thành chữ như sau:








Function TIENCHU(A) As String


Dim s, cdv, ctr, cng, cty As String


Dim sdv, strieu, sng, sty As String


chuoi = ""


s = Trim(str(A))


While Len(s) < 12


s = "0" + s


Wend


sdv = Right(s, 3)


sng = Mid(s, 7, 3)


strieu = Mid(s, 4, 3)


sty = Left(s, 3)


chuoi = IIf(doi(sty) <> " ", doi(sty) & " tỷ", "") & IIf(doi(strieu) <> " ", doi(strieu) & " triệu", "") & IIf(doi(sng) <> " ", doi(sng) & " nghìn", "") & IIf(doi(sdv) <> " ", doi(sdv), "") & " đồng chẳn"


TIENCHU = UCase(Left(Trim(chuoi), 1)) & Right(Trim(chuoi), Len(Trim(chuoi)) - 1) & "."


End Function


Function doi(c) As String


Dim dv, ch, tr, st1 As String


While Len(c) < 3


c = "0" & Trim(c)


Wend


dv = Right(c, 1)


ch = Mid(c, 2, 1)


tr = Left(c, 1)


st1 = ""


If tr = "0" Then


If ch = "0" Then


If dv = "0" Then


st1 = st1 & " "


Else


st1 = st1 & so(dv)


End If


Else


If dv = "0" Then


st1 = st1 & IIf(ch = "1", " mười", so(ch) & " mươi")


Else


st1 = st1 & IIf(ch = "1", " mười", so(ch) & " mươi") & IIf(dv = "1", " mốt", IIf(dv = "5", " lăm", so(dv)))


End If


End If


Else


If ch = "0" Then


If dv = "0" Then


st1 = st1 & so(tr) & " trăm"


Else


st1 = st1 & so(tr) & " trăm lẻ" & so(dv)


End If


Else


If dv = "0" Then


st1 = st1 & so(tr) & " trăm" & IIf(ch = "1", " mười", so(ch) & " mươi")


Else


st1 = st1 & so(tr) & " trăm" & IIf(ch = "1", " mười", so(ch) & " mươi") & IIf(dv = "1", IIf(ch = "1", " một", " mốt"), IIf(dv = "5", " lăm", so(dv)))


End If


End If


End If


doi = st1


End Function


Function so(c) As String


s = ""


Select Case c


Case "0"


s = s + " không"


Case "1"


s = s + " một"


Case "2"


s = s + " hai"


Case "3"


s = s + " ba"


Case "4"


s = s + " bốn"


Case "5"


s = s + " năm"


Case "6"


s = s + " sáu"


Case "7"


s = s + " bảy"


Case "8"


s = s + " tám"


Case "9"


s = s + " chín"


End Select


so = s


End Function





Nhưng sau khi mình áp dụng hàm này cho một ô số trong excel thì kết quả chữ không hiện đúng tiếng Việt mặc dù mình vừa dùng đúng font unicode và ngay cả đổi sang bảng mã VNI-win vẫn không được. Giúp mình phần này nhé! Thanks!
 

tienthanh_1188

New Member


 
Top