Em không hiểu sao lại không có phần đọc không trăm ah?

Liên hệ QC

Lequocvan

Thành viên thường trực
Tham gia
21/8/07
Bài viết
365
Được thích
128
Donate (Paypal)
Donate
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Agribank
Function vnd(ByVal NumCurrency As Currency) As String
Static CharVND(9) As String, Bangchu As String, i As Integer
Dim Sole, SoDoi As Integer, PhanChan, Ten As String
Dim DonViTien As String, DonViLe As String
Dim NganTy As Integer, Ty As Integer, Trieu As Integer, Ngan As Integer
Dim Dong As Integer, Tram As Integer, Muoi As Integer, DonVi As Integer
DonViTien = ";111;1ED3;6E;67" ' dong viet nam
DonViLe = ";78;75" ' xu

If NumCurrency = 0 Then
vnd = UnicodeChar(";4B;68;F4;6E;67;20" & DonViTien)
Exit Function
End If

If NumCurrency > 922337203685477# Then ' So lon nhat cua CURRENCY
vnd = UnicodeChar(";4B;68;F4;6E;67;20;111;1ED5;69;20;111;1B0;1EE3;63;20;73" & _
";1ED1;20;6C;1EDB;6E;20;68;1A1;6E;20;39;32;32;2C;33;33;37" & _
";2C;32;30;33;2C;36;38;35;2C;34;37;37")
Exit Function
End If

CharVND(1) = ";6D;1ED9;74" ' mo^.t
CharVND(2) = ";68;61;69" ' hai
CharVND(3) = ";62;61" ' ba
CharVND(4) = ";62;1ED1;6E" ' bo^'n
CharVND(5) = ";6E;103;6D" ' na(m
CharVND(6) = ";73;E1;75"
CharVND(7) = ";62;1EA3;79"
CharVND(8) = ";74;E1;6D"
CharVND(9) = ";63;68;ED;6E"

Sole = Int((NumCurrency - Int(NumCurrency)) * 100) ' 2 kí s?
PhanChan = Trim$(str$(Int(NumCurrency)))
PhanChan = Space(15 - Len(PhanChan)) + PhanChan
NganTy = Val(Left(PhanChan, 3))
Ty = Val(Mid$(PhanChan, 4, 3))
Trieu = Val(Mid$(PhanChan, 7, 3))
Ngan = Val(Mid$(PhanChan, 10, 3))
Dong = Val(Mid$(PhanChan, 13, 3))
If NganTy = 0 And Ty = 0 And Trieu = 0 And Ngan = 0 And Dong = 0 Then
Bangchu = ";6B;68;F4;6E;67;20" + DonViTien + ";20"
i = 5
Else
Bangchu = ""
i = 0
End If
'-----------------------------------------------------
' Bat dau doi so sang chu
'-----------------------------------------------------
While i <= 5
Select Case i
Case 0
SoDoi = NganTy
'Ten = ";6E;67;E0;6E;20;74;1EF7" ' ngan ty
Ten = ";6E;67;68;EC;6E;20;74;1EF7"
'---------
Case 1
SoDoi = Ty
Ten = ";74;1EF7" ' ty
'---------
Case 2
SoDoi = Trieu
Ten = ";74;72;69;1EC7;75" ' trieu
'---------
Case 3
SoDoi = Ngan
Ten = ";6E;67;68;EC;6E"
'Ten = ";6E;67;E0;6E" ' ngan
'=UnicodeChar("6E;67;E0;6E")
'---------
Case 4
SoDoi = Dong
Ten = DonViTien ' dong
'---------
Case 5
SoDoi = Sole
Ten = DonViLe ' xu
End Select
'---------
If SoDoi <> 0 Then
Tram = Int(SoDoi / 100)
Muoi = Int((SoDoi - Tram * 100) / 10)
DonVi = (SoDoi - Tram * 100) - Muoi * 10
If Right(Bangchu, 3) = ";20" Then
Bangchu = Left(Bangchu, Len(Bangchu) - 3)
End If
'---------
Bangchu = Bangchu + IIf(Len(Bangchu) = 0, "", ";2C;20") + _
IIf(Tram <> 0, Trim(CharVND(Tram)) + ";20;74;72;103;6D;20", "")
If Muoi = 0 And Tram <> 0 And DonVi <> 0 Then
Bangchu = Bangchu + ";6C;1EBB;20"
Else
If Muoi <> 0 Then
Bangchu = Bangchu + IIf(Muoi <> 0 And Muoi <> 1, _
Trim(CharVND(Muoi)) + ";20;6D;1B0;1A1;69;20", ";6D;1B0;1EDD;69;20")
End If
End If
If Muoi <> 0 And DonVi = 5 Then
Bangchu = Bangchu + ";6C;103;6D;20" + Ten + ";20"
Else
If Muoi > 1 And DonVi = 1 Then
Bangchu = Bangchu + ";6D;1ED1;74;20" + Ten + ";20"
Else
Bangchu = Bangchu + IIf(DonVi <> 0, Trim(CharVND(DonVi)) + ";20" + Ten, Ten) + ";20"
End If
End If
Else
Bangchu = Bangchu + IIf(i = 4, DonViTien + "", "")
End If
i = i + 1
Wend
'-----------------------------------------------------
If Sole = 0 Then
Bangchu = Bangchu + IIf(Right(Bangchu, 3) = ";20", "", ";20") + ";63;68;1EB5;6E"
End If
'-----------------------------------------------------

'
If Right(Bangchu, 3) = ";20" Then
Bangchu = Left(Bangchu, Len(Bangchu) - 3)
End If
Bangchu = Bangchu + IIf(Len(Bangchu) = 0, "", ";2e;20")
If Sole = 0 Then
Bangchu = Bangchu + IIf(Right(Bangchu, 3) = 0, "", ";20")
End If
'-----------------------------------------------------



Bangchu = UnicodeChar(Bangchu)
'Doi sang tieng viet theo Unicode
'Doi chu cai dau tien thanh chu hoa
Mid$(Bangchu, 1, 1) = UCase$(Mid$(Bangchu, 1, 1))
vnd = Bangchu
End Function
'-----------------------------------------------------
khi em dùng =vnd(1015) thì đọc là
[TABLE="width: 210"]
[TR]
[TD="width: 210"]Một nghìn, mười lăm đồng chẵn.[/TD]
[/TR]
[/TABLE]
 
Bangchu = UnicodeChar(Bangchu)
'Doi sang tieng viet theo Unicode
'Doi chu cai dau tien thanh chu hoa
Mid$(Bangchu, 1, 1) = UCase$(Mid$(Bangchu, 1, 1))
vnd = Bangchu
End Function
'-----------------------------------------------------
khi em dùng =vnd(1015) thì đọc là
[TABLE="width: 210"]
[TR]
[TD="width: 210"]Một nghìn, mười lăm đồng chẵn.[/TD]
[/TR]
[/TABLE]
Code trên có dùng hàm UnicodeChar, mà chẳng biết UnicodeChar là cái gì cả, lấy đâu mà test giúp bạn
Kinh nghiệm của tôi: Code này xài không được thì lấy code khác mà xài, khỏi sửa!
 
Upvote 0
Em vẫn muốn biết ah?:
Function UnicodeChar(UniCharCode As String) As String
On Error GoTo Loi
Dim str
Dim desStr As String
Dim i
If Mid(UniCharCode, 1, 1) = ";" Then
UniCharCode = Mid(UniCharCode, 2)
End If
If Right(UniCharCode, 1) = ";" Then
UniCharCode = Mid(UniCharCode, 1, Len(UniCharCode) - 1)
End If
str = UniCharCode
str = Split(str, ";")
For i = LBound(str) To UBound(str)
desStr = desStr & ChrW$("&H" & str(i))
Next
UnicodeChar = desStr
Loi:
Exit Function
End Function
 
Upvote 0
to Lequocvan:
Chỉ có thể kết luận ... code của bạn sai, hay lỗi hay gì gì đó ...--=0 do tôi không biết code mà biết sử dụng code.
Code trong add in của a Nguyen Duy Tuan cho kết quả như hình dưới:
 
Upvote 0
em cũng đang đọc của Thầy Tuân đây ah.
 
Upvote 0
Giờ em chốt lại luồng này (sau một thời gian tìm kiếm dài dài), với file sau đã có thể đáp ứng được đối với đọc số ra chữ của ngân hàng em. Code của bác Tuân ver 2.2, em thấy chưa phù hợp với em. Bác nào cần và có thể test giúp em nhé.
 
Lần chỉnh sửa cuối:
Upvote 0
Giờ em chốt lại luồng này (sau một thời gian tìm kiếm dài dài), với file sau đã có thể đáp ứng được đối với đọc số ra chữ của ngân hàng em. Code của bác Tuân ver 2.2, em thấy chưa phù hợp với em. Bác nào cần và có thể test giúp em nhé.

Tôi thì không cần cái này nhưng code trên cũng còn sai, ví dụ từ B18:B22 đúng ra chữ đồng nó phải liền:

B18 = Một nghìn, đồng

Thứ hai: Nguyên tắc Ngân hàng thì đọc số bằng chữ phải có dấu ngoặc hai đầu.

Bạn làm ở Ngân hàng AgriBank à, tôi cũng thắc mắc không biết bạn dùng hàm đọc số bằng chữ vào mục đích gì? vì Ngân hàng này đã có phần mềm lập phiếu.
 
Lần chỉnh sửa cuối:
Upvote 0
Bác chỉ giúp em sửa code như thế nào để tách biệt hàng tỷ, triệu, nghìn trong code sau ah:
Dim CH As String
Dim tong_tam As Integer
'****************BANG CHU VIET NAM********
Public Function EUR(So As Double) As String
If Abs(So) > 999999999999999# Then
MsgBox "Xin l" & ChrW(7895) & "i, s" & ChrW(7889) & " " & ChrW(273) & "ã v" & ChrW(432) & ChrW(7907) & "t h" & ChrW(417) & "n tr" & ChrW(259) & "m nghìn t" & ChrW(7927) & ", không th" & ChrW(7875) & " biên d" & ChrW(7883) & "ch " & ChrW(273) & ChrW(432) & ChrW(7907) & "c"
Exit Function
End If
If Fix(So) = 0 Then
EUR = "Không Euro"
Else
'EUR = FcaseVU(Dichchu(So), 1) + " " & "Euro"
EUR = UCase(Left(Dichchu(So), 1)) + Mid(Dichchu(So), 2, 999) + "Euro"
End If​
End Function


Public Function USD(So As Double) As String
If Abs(So) > 999999999999999# Then
MsgBox "Xin l" & ChrW(7895) & "i, s" & ChrW(7889) & " " & ChrW(273) & "ã v" & ChrW(432) & ChrW(7907) & "t h" & ChrW(417) & "n tr" & ChrW(259) & "m nghìn t" & ChrW(7927) & ", không th" & ChrW(7875) & " biên d" & ChrW(7883) & "ch " & ChrW(273) & ChrW(432) & ChrW(7907) & "c"
Exit Function
End If
If Fix(So) = 0 Then
USD = "Không " & ChrW(273) & "ô la M" & ChrW(7929)
Else
'USD = FcaseVU(Dichchu(So), 1) + " " & ChrW(273) & "ô la M" & ChrW(7929)
USD = UCase(Left(Dichchu(So), 1)) + Mid(Dichchu(So), 2, 999) + ChrW(273) & "ô la M" & ChrW(7929)
End If​
End Function


Public Function VND(So As Double) As String
If Abs(So) > 999999999999999# Then
MsgBox "Xin l" & ChrW(7895) & "i, s" & ChrW(7889) & " " & ChrW(273) & "ã v" & ChrW(432) & ChrW(7907) & "t h" & ChrW(417) & "n tr" & ChrW(259) & "m nghìn t" & ChrW(7927) & ", không th" & ChrW(7875) & " biên d" & ChrW(7883) & "ch " & ChrW(273) & ChrW(432) & ChrW(7907) & "c"
Exit Function
End If
If Fix(So) = 0 Then
VND = "Không " & ChrW(273) & ChrW(7891) & "ng"
Else
'VND = FcaseVU(Dichchu(So), 1) + " " & ChrW(273) & ChrW(7891) & "ng"
VND = UCase(Left(Dichchu(So), 1)) + Mid(Dichchu(So), 2, 999) + ChrW(273) & ChrW(7891) & "ng"
End If​
End Function


'*********DICH CHU SO *********8 ''nghìn '
Public Function Dichchu(So) As String
Dim tam As String
Dim Nhom0 As String, Nhom1 As String, Nhom2 As String, Nhom3 As String, Nhom4 As String
If Abs(So) > 999999999999999# Then
MsgBox "Xin loi, so da vuot hon tram ngan ty, khong the bien dich duoc !!!"
Exit Function
End If
If IsDate(So) Then
'Ham con sai cho nay 'Ham con sai cho nay 'Ham con sai cho nay 'Ham con sai cho nay 'Ham con sai cho nay
Dichchu = Format(So, "dd/mm/yyyy")
Exit Function
End If
So = Fix(So)
If So < 0 Then
sogiu = So
So = So * (-1)
End If
CH = Space(0)
tam = Right((Space(15) + Trim(str(So))), 15)
Nhom0 = Mid(tam, 1, 3)
Nhom1 = Mid(tam, 4, 3)
Nhom2 = Mid(tam, 7, 3)
Nhom3 = Mid(tam, 10, 3)
Nhom4 = Mid(tam, 13, 3)
tong_tam = 0


If Val(Nhom0) > 0 And (Val(Nhom1) = 0 Or Val(Nhom2) = 0 Or Val(Nhom3) = 0 Or Val(Nhom4) = 0) Then
CH = CH + Dich3so(Nhom0, "nghìn t" & ChrW(7927) & " ") 'nghin ty
tong_tam = tong_tam + Val(Nhom0)
Else
CH = CH + Dich3so(Nhom0, "nghìn ")
tong_tam = tong_tam + Val(Nhom0)
End If

CH = CH + Dich3so(Nhom1, "t" & ChrW(7927) & " ")

tong_tam = tong_tam + Val(Nhom1)
CH = CH + Dich3so(Nhom2, "tri" & ChrW(7879) & "u ")

tong_tam = tong_tam + Val(Nhom2)
CH = CH + Dich3so(Nhom3, "nghìn ")

tong_tam = tong_tam + Val(Nhom3)
CH = CH + Dich3so(Nhom4, "")
If sogiu < 0 Then
CH = "Âm " + CH
End If
Dichchu = CH
End Function


Private Function Dich3so(Nhom As String, dv As String) As String
'Co xet den so O dau tien vd: 009 = khong tram le chin (dung doc tien)
Dim x As Integer, y As Integer, z As Integer
Dim ch1 As String
Nhom = Right(Space(3) & Nhom, 3)
x = Val(Left(Nhom, 1))
y = Val(Mid(Nhom, 2, 1))
z = Val(Right(Nhom, 1))
If x = 0 And y = 0 And z = 0 Then
dv = ""
Else
If x = 0 Then
If tong_tam <= 0 Then
ch1 = ch1
Else
If y <> 0 Or z <> 0 Then
ch1 = ch1 + "không tr" & ChrW(259) & "m "
End If
End If
Else
ch1 = ch1 + CHUSO(x) + "tr" & ChrW(259) & "m "
End If
'***************
If y = 0 Then
If z <> 0 Then
If tong_tam <= 0 And x = 0 Then
ch1 = ch1
Else
ch1 = ch1 + "l" & ChrW(7867) & " "
End If
End If
ElseIf y = 1 Then
ch1 = ch1 + "m" & ChrW(432) & ChrW(7901) & "i "
Else
ch1 = ch1 + CHUSO(y) + "m" & ChrW(432) & ChrW(417) & "i "
End If
'***********
If z = 0 Then
ch1 = ch1
ElseIf z = 1 Then
If y = 1 Or y = 0 Then
ch1 = ch1 + CHUSO(z)
Else
ch1 = ch1 + "m" & ChrW(7889) & "t "
End If
ElseIf z = 5 Then
If y = 0 Then
ch1 = ch1 + CHUSO(z)
Else
ch1 = ch1 + "l" & ChrW(259) & "m "
End If
Else
ch1 = ch1 + CHUSO(z)
End If
End If
Dich3so = ch1 + dv​
End Function


Private Function Dichso(Nhom As String) As String
'Khong xet den so O dau tien vd: 009 = chin (dung doc so thu tu)
Dim x As Integer, y As Integer, z As Integer
Dim ch1 As String
Nhom = Right(Space(3) & Nhom, 3)
x = Val(Left(Nhom, 1))
y = Val(Mid(Nhom, 2, 1))
z = Val(Right(Nhom, 1))
ch1 = ""
If x = 0 And y = 0 And z = 0 Then
Dichso = ""
Exit Function
Else
If x = 0 Then
ch1 = ch1
Else
ch1 = ch1 + CHUSO(x) + "tr" & ChrW(259) & "m "
End If
'***************
If y = 0 Then
If x = 0 Then
ch1 = ch1
Else
ch1 = ch1 + "l" & ChrW(7867) & " "
End If
ElseIf y = 1 Then
ch1 = ch1 + "m" & ChrW(432) & ChrW(7901) & "i "
Else
ch1 = ch1 + CHUSO(y) + "m" & ChrW(432) & ChrW(417) & "i "
End If
'***********
If z = 0 Then
ch1 = ch1
ElseIf z = 1 Then
If y = 1 Or y = 0 Then
ch1 = ch1 + CHUSO(z)
Else
ch1 = ch1 + "m" & ChrW(7889) & "t "
End If
ElseIf z = 5 Then
If y = 0 Then
ch1 = ch1 + CHUSO(z)
Else
ch1 = ch1 + "l" & ChrW(259) & "m "
End If
Else
ch1 = ch1 + CHUSO(z)
End If
End If
Dichso = ch1 + dv​
End Function

Private Function CHUSO(Num As Integer) As String
tmpCHUSO = Array("không ", "m" & ChrW(7897) & "t ", "hai ", "ba ", "b" & ChrW(7889) & "n ", "n" & ChrW(259) & "m ", "sáu ", "b" & ChrW(7843) & "y ", "tám ", "chín ")
CHUSO = tmpCHUSO(Num)​
End Function
 
Upvote 0
Bác nói em mới tra lại thì như hình ah! Cái này em chưa rành lắm! (đang mày mò code mà)
 

File đính kèm

  • Viet so tien bang chu.jpg
    Viet so tien bang chu.jpg
    20.3 KB · Đọc: 38
Lần chỉnh sửa cuối:
Upvote 0
bạn thử code này xem sao
vẫn còn một chút lỗi nhỏ tôi đang sửa.đây là code của thầy Long
Mã:
Option Explicit
Function DOC_SO_UNICODE(conso) As String
Dim S09, Lop3, Dau, Vt, S123, S1, S2, S3, LOP2, CHR1, CHR2, CHR3 As String
Dim Sonhan, Sochuso, I, Docso, Lop, N1, N2, N3, Baso As Long
'...............................SO TU 1 DEN 9 ..........................................................
 S09 = Array("", " M" & ChrW(7897) & "t", " Hai", " Ba", " B" & ChrW(7889) & "n", " N" & ChrW(259) & "m", _
         " S" & ChrW(225) & "u", " B" & ChrW(7843) & "y", " T" & ChrW(225) & "m", " Ch" & ChrW(237) & "n")
'................................CHUOI NGHIN -TRIEU-TY.......................................................................................................
      If Right(conso, 3) = "000" Or Len(conso) >= 13 Then Lop3 = Array("", " Tri" & ChrW(7879) & "u", " Ngh" & ChrW(236) & "n", " T" & ChrW(7927) & "") Else _
                                                          Lop3 = Array("", " Tri" & ChrW(7879) & "u,", " Ngh" & ChrW(236) & "n,", " T" & ChrW(7927) & ",")
'................................NGHIN TY-MUOI NGHIN TY-TRAM NGHIN TY.........................................................................................Or Len(conso) >= 13
   'If conso = 10 ^ 12 Or conso = 10 ^ 13 Or conso = 10 ^ 14 Or conso = 10 ^ 15 Then LOP2 = " T" & ChrW(7927) & " " Else LOP2 = " T" & ChrW(7927) & ","
If Abs(Right(conso, 11)) > 0 Then LOP2 = " T" & ChrW(7927) & ", " Else LOP2 = " T" & ChrW(7927) & ""
'..............................................................................................................................................................
If Abs(conso) > 999999999999999# Then
        MsgBox "SO QUÁ LON"
        DOC_SO_UNICODE = "SO QUÁ LON"
        Exit Function
    End If
If Trim(conso) = "" Then
  DOC_SO_UNICODE = ""
ElseIf IsNumeric(conso) = True Then
  If conso < 0 Then Dau = ChrW(226) & "m " Else Dau = ""
  conso = Application.WorksheetFunction.Round(Abs(conso), 0)
  conso = " " & conso
  conso = Replace(conso, ",", "", 1)
  Vt = InStr(1, conso, "E")
  If Vt > 0 Then
    Sonhan = Val(Mid(conso, Vt + 1))
    conso = Trim(Mid(conso, 2, Vt - 2))
    conso = conso & String(Sonhan - Len(conso) + 1, "0")
  End If
  conso = Trim(conso)
  Sochuso = Len(conso) Mod 9
  If Sochuso > 0 Then conso = String(9 - (Sochuso Mod 12), "0") & conso
  Docso = ""
  I = 1
  Lop = 1
  Do
    N1 = Mid(conso, I, 1)
    N2 = Mid(conso, I + 1, 1)
    N3 = Mid(conso, I + 2, 1)
    Baso = Mid(conso, I, 3)
    I = I + 3
    If N1 & N2 & N3 = "000" Then
      If Docso <> "" And Lop = 3 And Len(conso) - I > 2 Then S123 = LOP2 Else S123 = ""
    Else
      If N1 = 0 Then
        If Docso = "" Then S1 = "" Else S1 = " Kh" & ChrW(244) & "ng Tr" & ChrW(259) & "m"
      Else
        S1 = S09(N1) & " Tr" & ChrW(259) & "m"
      End If
      If N2 = 0 Then
        If S1 = "" Or N3 = 0 Then
          S2 = ""
        Else
          S2 = " L" & ChrW(7867)
        End If
      Else
        If N2 = 1 Then S2 = " M" & ChrW(432) & ChrW(7901) & "i" Else S2 = S09(N2) & " M" & ChrW(432) & ChrW(417) & "i"
      End If
      If N3 = 1 Then
        If N2 = 1 Or N2 = 0 Then S3 = " M" & ChrW(7897) & "t" Else S3 = " M" & ChrW(7889) & "t"
      ElseIf N3 = 5 And N2 <> 0 Then
        S3 = " L" & ChrW(259) & "m"
      Else
        S3 = S09(N3)
      End If
      If I > Len(conso) Then
        S123 = S1 & S2 & S3
      Else
        S123 = S1 & S2 & S3 & Lop3(Lop)
      End If
    End If
    Lop = Lop + 1
    If Lop > 3 Then Lop = 1
    Docso = Docso & S123
    If I > Len(conso) Then Exit Do


  Loop
  If Docso = "" Then DOC_SO_UNICODE = "Kh" & ChrW(244) & "ng" Else DOC_SO_UNICODE = Dau & Trim(Docso) & " " & ChrW(272) & ChrW(7891) & "ng."
Else
  DOC_SO_UNICODE = conso
End If
End Function
 
Upvote 0
Rất cám ơn Bác Lê Duy Thương!.
Em cũng kết hợp code của cả bác NgHuuThang vào code của Bác Vũ, kết quả cũng tạm ổn! (theo ý em!)
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Rất cám ơn Bác Lê Duy Thương!.
Em cũng kết hợp code của cả bác NgHuuThang vào code của Bác Vũ, kết quả cũng tạm ổn! (theo ý em!)
Đây là code GPE được Lê Duy Thương edit theo nhu cầu. đã kiểm tra không thấy vấn đề .mong ai tìm ra lỗi để hoàn thiện tiếp +-+-+-+
PHP:
Option Explicit
Function DOC_SO_UNICODE(conso) As String
Dim S09, Lop3, Dau, Vt, S123, S1, S2, S3, Lop2, nghin, trieu, ty As String
Dim Sonhan, Sochuso, I, Docso, Lop, N1, N2, N3, Baso As Long


'...............................SO TU 1 DEN 9 ..........................................................
 S09 = Array("", " m" & ChrW(7897) & "t", " hai", " ba", " b" & ChrW(7889) & "n", " n" & ChrW(259) & "m", _
         " s" & ChrW(225) & "u", " b" & ChrW(7843) & "y", " t" & ChrW(225) & "m", " ch" & ChrW(237) & "n")
'................................CHUOI NGHIN -TRIEU-TY.......................................................................................................
  If Right(conso, 3) = "000" Or Len(conso) >= 13 Then nghin = " ngh" & ChrW(236) & "n" Else nghin = " ngh" & ChrW(236) & "n,"
  If Right(conso, 3) = "000" Then trieu = " tri" & ChrW(7879) & "u" Else trieu = " tri" & ChrW(7879) & "u,"
  If Right(conso, 3) = "000" Then ty = " t" & ChrW(7927) Else ty = " t" & ChrW(7927) & ","
  Lop3 = Array("", trieu, nghin, ty)


'................................NGHIN TY-MUOI NGHIN TY-TRAM NGHIN TY.........................................................................................
   If Abs(Right(conso, 11)) > 0 Then Lop2 = " t" & ChrW(7927) & "," Else Lop2 = " t" & ChrW(7927) & ""
'..............................................................................................................................................................
If Abs(conso) > 999999999999999# Then
        MsgBox "SO QUA LON"
        DOC_SO_UNICODE = "S" & ChrW(7889) & " quá l" & ChrW(7899) & "n ! hàng tri" & ChrW(7879) & "u t" & ChrW(7927) & "."
        Exit Function
    End If
If Trim(conso) = "" Then
  DOC_SO_UNICODE = ""
ElseIf IsNumeric(conso) = True Then
  If conso < 0 Then Dau = ChrW(226) & "m " Else Dau = ""
  conso = Application.WorksheetFunction.Round(Abs(conso), 0)
  conso = " " & conso
  conso = Replace(conso, ",", "", 1)
  Vt = InStr(1, conso, "E")
  If Vt > 0 Then
    Sonhan = Val(Mid(conso, Vt + 1))
    conso = Trim(Mid(conso, 2, Vt - 2))
    conso = conso & String(Sonhan - Len(conso) + 1, "0")
  End If
  conso = Trim(conso)
  Sochuso = Len(conso) Mod 9
  If Sochuso > 0 Then conso = String(9 - (Sochuso Mod 12), "0") & conso
  Docso = ""
  I = 1
  Lop = 1
  Do
    N1 = Mid(conso, I, 1)
    N2 = Mid(conso, I + 1, 1)
    N3 = Mid(conso, I + 2, 1)
    Baso = Mid(conso, I, 3)
    I = I + 3
    If N1 & N2 & N3 = "000" Then
      If Docso <> "" And Lop = 3 And Len(conso) - I > 2 Then S123 = Lop2 Else S123 = ""
    Else
      If N1 = 0 Then
        If Docso = "" Then S1 = "" Else S1 = " kh" & ChrW(244) & "ng tr" & ChrW(259) & "m"
      Else
        S1 = S09(N1) & " tr" & ChrW(259) & "m"
      End If
      If N2 = 0 Then
        If S1 = "" Or N3 = 0 Then
          S2 = ""
        Else
          S2 = " l" & ChrW(7867)
        End If
      Else
        If N2 = 1 Then S2 = " m" & ChrW(432) & ChrW(7901) & "i" Else S2 = S09(N2) & " m" & ChrW(432) & ChrW(417) & "i"
      End If
      If N3 = 1 Then
        If N2 = 1 Or N2 = 0 Then S3 = " m" & ChrW(7897) & "t" Else S3 = " m" & ChrW(7889) & "t"
      ElseIf N3 = 5 And N2 <> 0 Then
        S3 = " L" & ChrW(259) & "m"
      Else
        S3 = S09(N3)
      End If
      If I > Len(conso) Then
        S123 = S1 & S2 & S3
      Else
        S123 = S1 & S2 & S3 & Lop3(Lop)
      End If
    End If
    Lop = Lop + 1
    If Lop > 3 Then Lop = 1
    Docso = Docso & S123
    If I > Len(conso) Then Exit Do


  Loop
  If Docso = "" Then DOC_SO_UNICODE = "Kh" & ChrW(244) & "ng " & ChrW(273) & ChrW(7891) & "ng." Else DOC_SO_UNICODE = UCase(Left(Dau & Trim(Docso) & " " & ChrW(273) & ChrW(7891) & "ng.", 1)) & LCase(Mid(Dau & Trim(Docso) & " " & ChrW(273) & ChrW(7891) & "ng.", 2))
Else
  DOC_SO_UNICODE = conso
End If
End Function
 
Upvote 0
Đây là code của Tác giả Phạm Duy Long (người quá cố), tôi mạn phép sửa lại cho phù hợp với thực tế, bạn xem thử:


PHP:
Public Function VNdong(FirstArg As Object)
Dim chu, aaa, bbb, so3
chu = Abs(FirstArg.Value)
chu = Format(chu, "0.00")
If chu > 10 ^ 99 Then    
    VNdong = FirstArg.Value    
    Exit Function
End If
aaa = Left(chu, Len(chu) - 3)
bbb = Right(chu, 2)
so3 = dich(CStr(aaa)) & "ñoàng" & IIf(Val(bbb) <> 0, " " & dich(CStr(bbb)) & "xu.", ")")
so3 = Replace(so3, ", tyû", " tyû")              '* Lam cho dep
so3 = Replace(so3, ", ñoàng", " ñoàng")
so3 = "(" & Chr(Asc(Left(so3, 1)) - 32) + Mid(so3, 2) ' Viet hoa chu dau tien
If FirstArg.Value < 0 Then so3 = "(AÂm) " & so3
VNdong = vni2u(CStr(so3))
End Function

Function dich(yy As String)
Dim mm, docso, kkdai
kkdai = Len(yy)
If Len(yy) < 10 Then    
    docso = ""    
    For mm = 1 To Len(yy)        
          docso = docso & Mid(yy, mm, 1) & Chr(65 + Len(yy) - mm)    
    Next
Else        
    docso = dich(Left(yy, kkdai - 9)) & "t" & ChrW(7927) & ", " & dich(Right(yy, 9))    
    dich = docso    
    Exit Function
End If
docso = Replace(docso, "A", "donvi")
docso = Replace(docso, "B", "möôi ")
docso = Replace(docso, "C", "traêm ")
docso = Replace(docso, "D", "ngìn, ")
docso = Replace(docso, "E", "möôi ")
docso = Replace(docso, "F", "traêm ")
docso = Replace(docso, "G", "trieäu, ")
docso = Replace(docso, "H", "möôi ")
docso = Replace(docso, "I", "traêm ")
docso = Replace(docso, "0", "khoâng ")
docso = Replace(docso, "1", "moät ")
docso = Replace(docso, "2", "hai ")
docso = Replace(docso, "3", "ba ")
docso = Replace(docso, "4", "boán ")
docso = Replace(docso, "5", "naêm ")
docso = Replace(docso, "6", "saùu ")
docso = Replace(docso, "7", "baûy ")
docso = Replace(docso, "8", "taùm ")
docso = Replace(docso, "9", "chín ")
docso = Replace(docso, "khoâng möôi", "leû")      '* Buoc hoan chinh
docso = Replace(docso, "möôi khoâng", "möôi")
docso = Replace(docso, "khoâng traêm leû khoâng ", "khoâng ")
docso = Replace(docso, "traêm leû khoâng", "traêm")
docso = Replace(docso, "möôi naêm", "möôi laêm")
docso = Replace(docso, "moät möôi", "möôøi")
docso = Replace(docso, "möôi moät", "möôi moát")
docso = Replace(docso, " khoâng donvi", " donvi")
docso = Replace(docso, "khoâng ngaøn, donvi", "donvi")
docso = Replace(docso, "khoâng trieäu, donvi", "donvi")
docso = Replace(docso, "donvi", "")
dich = docso
End Function

Function vni2u(vanbanVNI As String)
vni2u = vanbanVNI                    '* Luu y khong duoc thay doi thu tu cac dong duoi day
vni2u = Replace(vni2u, "aù", ChrW(225))
vni2u = Replace(vni2u, "aø", ChrW(224))
vni2u = Replace(vni2u, "aû", ChrW(7843))
vni2u = Replace(vni2u, "aõ", ChrW(227))
vni2u = Replace(vni2u, "aï", ChrW(7841))
vni2u = Replace(vni2u, "aé", ChrW(7855))
vni2u = Replace(vni2u, "aè", ChrW(7857))
vni2u = Replace(vni2u, "aú", ChrW(7859))
vni2u = Replace(vni2u, "aü", ChrW(7861))
vni2u = Replace(vni2u, "aë", ChrW(7863))
vni2u = Replace(vni2u, "aá", ChrW(7845))
vni2u = Replace(vni2u, "aà", ChrW(7847))
vni2u = Replace(vni2u, "aå", ChrW(7849))
vni2u = Replace(vni2u, "aã", ChrW(7851))
vni2u = Replace(vni2u, "aä", ChrW(7853))
vni2u = Replace(vni2u, "où", ChrW(243))
vni2u = Replace(vni2u, "oø", ChrW(242))
vni2u = Replace(vni2u, "oû", ChrW(7887))
vni2u = Replace(vni2u, "oõ", ChrW(245))
vni2u = Replace(vni2u, "oï", ChrW(7885))
vni2u = Replace(vni2u, "oá", ChrW(7889))
vni2u = Replace(vni2u, "oà", ChrW(7891))
vni2u = Replace(vni2u, "oå", ChrW(7893))
vni2u = Replace(vni2u, "oã", ChrW(7895))
vni2u = Replace(vni2u, "oä", ChrW(7897))
vni2u = Replace(vni2u, "ôù", ChrW(7899))
vni2u = Replace(vni2u, "ôø", ChrW(7901))
vni2u = Replace(vni2u, "ôû", ChrW(7903))
vni2u = Replace(vni2u, "ôõ", ChrW(7905))
vni2u = Replace(vni2u, "ôï", ChrW(7907))
vni2u = Replace(vni2u, "uù", ChrW(250))
vni2u = Replace(vni2u, "uø", ChrW(249))
vni2u = Replace(vni2u, "uû", ChrW(7911))
vni2u = Replace(vni2u, "uõ", ChrW(361))
vni2u = Replace(vni2u, "uï", ChrW(7909))
vni2u = Replace(vni2u, "öù", ChrW(7913))
vni2u = Replace(vni2u, "öø", ChrW(7915))
vni2u = Replace(vni2u, "öû", ChrW(7917))
vni2u = Replace(vni2u, "öõ", ChrW(7919))
vni2u = Replace(vni2u, "öï", ChrW(7921))
vni2u = Replace(vni2u, "eù", ChrW(233))
vni2u = Replace(vni2u, "eø", ChrW(232))
vni2u = Replace(vni2u, "eû", ChrW(7867))
vni2u = Replace(vni2u, "eõ", ChrW(7869))
vni2u = Replace(vni2u, "eï", ChrW(7865))
vni2u = Replace(vni2u, "eá", ChrW(7871))
vni2u = Replace(vni2u, "eà", ChrW(7873))
vni2u = Replace(vni2u, "eå", ChrW(7875))
vni2u = Replace(vni2u, "eã", ChrW(7877))
vni2u = Replace(vni2u, "eä", ChrW(7879))
vni2u = Replace(vni2u, "yù", ChrW(253))
vni2u = Replace(vni2u, "yø", ChrW(7923))
vni2u = Replace(vni2u, "yœ", ChrW(7927))
vni2u = Replace(vni2u, "yõ", ChrW(7929))
vni2u = Replace(vni2u, "î", ChrW(7925))
vni2u = Replace(vni2u, "AÙ", ChrW(193))
vni2u = Replace(vni2u, "AØ", ChrW(192))
vni2u = Replace(vni2u, "AÛ", ChrW(7842))
vni2u = Replace(vni2u, "AÕ", ChrW(195))
vni2u = Replace(vni2u, "AÏ", ChrW(7840))
vni2u = Replace(vni2u, "AÉ", ChrW(7854))
vni2u = Replace(vni2u, "AÈ", ChrW(7856))
vni2u = Replace(vni2u, "AÚ", ChrW(7858))
vni2u = Replace(vni2u, "AÜ", ChrW(7860))
vni2u = Replace(vni2u, "AË", ChrW(7862))
vni2u = Replace(vni2u, "AÁ", ChrW(7844))
vni2u = Replace(vni2u, "AÀ", ChrW(7846))
vni2u = Replace(vni2u, "AÅ", ChrW(7848))
vni2u = Replace(vni2u, "AÃ", ChrW(7850))
vni2u = Replace(vni2u, "AÄ", ChrW(7852))
vni2u = Replace(vni2u, "EÙ", ChrW(201))
vni2u = Replace(vni2u, "EØ", ChrW(200))
vni2u = Replace(vni2u, "EÛ", ChrW(7866))
vni2u = Replace(vni2u, "EÕ", ChrW(7868))
vni2u = Replace(vni2u, "EÏ", ChrW(7864))
vni2u = Replace(vni2u, "EÁ", ChrW(7870))
vni2u = Replace(vni2u, "EÀ", ChrW(7872))
vni2u = Replace(vni2u, "EÅ", ChrW(7874))
vni2u = Replace(vni2u, "EÃ", ChrW(7876))
vni2u = Replace(vni2u, "EÄ", ChrW(7878))
vni2u = Replace(vni2u, "OÙ", ChrW(211))
vni2u = Replace(vni2u, "OØ", ChrW(210))
vni2u = Replace(vni2u, "OÛ", ChrW(7886))
vni2u = Replace(vni2u, "OÕ", ChrW(213))
vni2u = Replace(vni2u, "OÏ", ChrW(7884))
vni2u = Replace(vni2u, "OÁ", ChrW(7888))
vni2u = Replace(vni2u, "OÀ", ChrW(7890))
vni2u = Replace(vni2u, "OÅ", ChrW(7892))
vni2u = Replace(vni2u, "OÃ", ChrW(7894))
vni2u = Replace(vni2u, "OÄ", ChrW(7896))
vni2u = Replace(vni2u, "ÔÙ", ChrW(7898))
vni2u = Replace(vni2u, "ÔØ", ChrW(7900))
vni2u = Replace(vni2u, "ÔÛ", ChrW(7902))
vni2u = Replace(vni2u, "ÔÕ", ChrW(7904))
vni2u = Replace(vni2u, "ÔÏ", ChrW(7906))
vni2u = Replace(vni2u, "UÙ", ChrW(218))
vni2u = Replace(vni2u, "UØ", ChrW(217))
vni2u = Replace(vni2u, "UÛ", ChrW(7910))
vni2u = Replace(vni2u, "UÕ", ChrW(360))
vni2u = Replace(vni2u, "UÏ", ChrW(7908))
vni2u = Replace(vni2u, "ÖÙ", ChrW(7912))
vni2u = Replace(vni2u, "ÖØ", ChrW(7914))
vni2u = Replace(vni2u, "ÖÛ", ChrW(7916))
vni2u = Replace(vni2u, "ÖÕ", ChrW(7918))
vni2u = Replace(vni2u, "ÖÏ", ChrW(7920))
vni2u = Replace(vni2u, "YÙ", ChrW(221))
vni2u = Replace(vni2u, "YØ", ChrW(7922))
vni2u = Replace(vni2u, "YÛ", ChrW(7926))
vni2u = Replace(vni2u, "YÕ", ChrW(7928))
vni2u = Replace(vni2u, "Î", ChrW(7924))
vni2u = Replace(vni2u, "ñ", ChrW(273))
vni2u = Replace(vni2u, "Ñ", ChrW(208))
vni2u = Replace(vni2u, "aê", ChrW(259))
vni2u = Replace(vni2u, "AÊ", ChrW(258))
vni2u = Replace(vni2u, "aâ", ChrW(226))
vni2u = Replace(vni2u, "AÂ", ChrW(194))
vni2u = Replace(vni2u, "eâ", ChrW(234))
vni2u = Replace(vni2u, "EÂ", ChrW(202))
vni2u = Replace(vni2u, "ô", ChrW(417))
vni2u = Replace(vni2u, "Ô", ChrW(416))
vni2u = Replace(vni2u, "oâ", ChrW(244))
vni2u = Replace(vni2u, "OÂ", ChrW(212))
vni2u = Replace(vni2u, "ö", ChrW(432))
vni2u = Replace(vni2u, "Ö", ChrW(431))
vni2u = Replace(vni2u, "Í", ChrW(205))
vni2u = Replace(vni2u, "Ì", ChrW(204))
vni2u = Replace(vni2u, "Æ", ChrW(7880))
vni2u = Replace(vni2u, "Ó", ChrW(296))
vni2u = Replace(vni2u, "Ò", ChrW(7882))
vni2u = Replace(vni2u, "í", ChrW(237))
vni2u = Replace(vni2u, "ì", ChrW(236))
vni2u = Replace(vni2u, "æ", ChrW(7881))
vni2u = Replace(vni2u, "ó", ChrW(297))
vni2u = Replace(vni2u, "ò", ChrW(7883))
End Function

Với code trên bạn dùng hàm:

=VNdong
 
Lần chỉnh sửa cuối:
Upvote 0
Rất cảm ơn các Thầy đã giúp!
em cũng thầy rằng: ngìn thì nên sửa lại thành nghìn. và việc Be09 thêm ngoặc đơn hai đầu cũng rất hay rồi, nhưng với số nghìn tỷ: mà đọc là "một nghìn, tỷ, ..." là không ổn ah!
Còn với code DOC_SO_UNICODE thì em thấy không cần thiết ký tự chữ cái đầu tiên viết hoa.
Em cũng biết là Thầy Long đã mất rồi, nhưng vì trong công việc khi lục lại code thì em nêu ra thôi, cũng nhằm nhớ lại Thầy ấy.!
Hiên tại em vẫn đang dùng code sắp xếp tiếng Việt của Thầy Long, dùng vào việc sort by mấy cái phiếu khi tham gia bầu cử ...


Ở bài #12, em thấy code ấy là phù hợp với em rồi ah!
 
Upvote 0
Rất cảm ơn các Thầy đã giúp!
em cũng thầy rằng: ngìn thì nên sửa lại thành nghìn. và việc Be09 thêm ngoặc đơn hai đầu cũng rất hay rồi, nhưng với số nghìn tỷ: mà đọc là "một nghìn, tỷ, ..." là không ổn ah!
Còn với code DOC_SO_UNICODE thì em thấy không cần thiết ký tự chữ cái đầu tiên viết hoa.
Em cũng biết là Thầy Long đã mất rồi, nhưng vì trong công việc khi lục lại code thì em nêu ra thôi, cũng nhằm nhớ lại Thầy ấy.!
Hiên tại em vẫn đang dùng code sắp xếp tiếng Việt của Thầy Long, dùng vào việc sort by mấy cái phiếu khi tham gia bầu cử ...


Ở bài #12, em thấy code ấy là phù hợp với em rồi ah!

- 1 hóa đơn bán hàng có vài chục dòng nên không ai trả tiền đến vài ngàn tỷ cả, tôi không kiểm tra đến số này nên không phát hiện ra.

- Còn chữ nghìn có thể là theo quy định nào đó (chưa rỏ), còn đọc theo kiểu Miền Nam thì số tiền đọc là ngàn đồng.
 
Lần chỉnh sửa cuối:
Upvote 0
góp thêm code đọc số tiền
Mã:
Function SoChu(sodoi) As String
Dim ch1(), cs, dv, s10, le, s0
Dim i As Long
sodoi = Abs(sodoi)
If Len(sodoi) > 16 Then
    MsgBox "So Qua Lon Khong Doi Duoc"
    Exit Function
End If
cs = Array("", "m" & ChrW(7897) & "t" & " ", "hai ", "ba ", "b" & ChrW(7889) & "n" & " ", "n" & ChrW(259) & "m" & " ", _
    "s" & ChrW(225) & "u" & " ", "b" & ChrW(7849) & "y" & " ", "t" & ChrW(225) & "m" & " ", "ch" & ChrW(205) & "n" & " ")
dv = Array("", "VN" & ChrW(208), "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "ngh" & ChrW(236) & "n" & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "tri" & ChrW(7879) & "u" & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "t" & ChrW(7927) & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "ngh" & ChrW(236) & "n" & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "tri" & ChrW(7879) & "u" & "," & " ")
s10 = "m" & ChrW(432) & ChrW(7901) & "i" & " "
le = "l" & ChrW(7867) & " "
s0 = "k" & "h" & ChrW(244) & "n" & "g" & " "
ReDim ch1(1 To Len(sodoi), 1)
For i = 1 To Len(sodoi)
    s = Val(Mid(sodoi, Len(sodoi) - i + 1, 1))
  If i = 1 Then
    ch1(1, 1) = cs(s) & dv(1)
  Else
    If (i Mod 3) = 1 Then
        ch1(i, 1) = cs(s) & dv(i)
    Else
       If s = 0 Then
            If Mid(sodoi, Len(sodoi) - i + 2, 1) = 0 Then
                ch1(i, 1) = ""
            Else
                ch1(i, 1) = le
            End If
       Else
            ch1(i, 1) = cs(s) & dv(i)
       End If
    End If
    If ch1(i, 1) = "m" & ChrW(7897) & "t" & " " & "m" & ChrW(432) & ChrW(417) & "i" & " " Then ch1(i, 1) = s10
  End If
SoChu = ch1(i, 1)&SoChu
Next
SoChu = UCase(Left(SoChu, 1)) & Right(SoChu, Len(SoChu) - 1)
End Function
 
Lần chỉnh sửa cuối:
Upvote 0
Với code của HieuCD thì không thể ổn, chưa khai báo biến s và khi đọc ra chữ là ko ổn
ví dụ:
số tiền: 101.001.136 đồng
bằng chữ: Một trăm lẻ một triệu, lẻ một nghìn, một trăm ba mươi sáu VNĐ.
 
Upvote 0
Với code của HieuCD thì không thể ổn, chưa khai báo biến s và khi đọc ra chữ là ko ổn
ví dụ:
số tiền: 101.001.136 đồng
bằng chữ: Một trăm lẻ một triệu, lẻ một nghìn, một trăm ba mươi sáu VNĐ.
hì hì, 101.001.136 đồng là chuổi, code chỉ đọc số, không đọc chuổi
nếu muốn gỏ dạng: 101.001.136 hoặc 101,001,136 không có chữ đồng thì dùng code
Mã:
Function SoChu(so) As String
Dim ch1(), cs, dv, s10, le, s0, sodoi
Dim i As Long
sodoi = so
sodoi = Replace(sodoi, ",", "")
sodoi = Replace(sodoi, ".", "")
sodoi = Replace(sodoi, "-", "")
If Len(sodoi) > 16 Then
    MsgBox "So Qua Lon Khong Doi Duoc"
    Exit Function
End If
cs = Array("", "m" & ChrW(7897) & "t" & " ", "hai ", "ba ", "b" & ChrW(7889) & "n" & " ", "n" & ChrW(259) & "m" & " ", _
    "s" & ChrW(225) & "u" & " ", "b" & ChrW(7849) & "y" & " ", "t" & ChrW(225) & "m" & " ", "ch" & ChrW(237) & "n" & " ")
dv = Array("", "VN" & ChrW(208), "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "ngh" & ChrW(236) & "n" & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "tri" & ChrW(7879) & "u" & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "t" & ChrW(7927) & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "ngh" & ChrW(236) & "n" & "," & " ", "m" & ChrW(432) & ChrW(417) & "i" & " ", "tr" & ChrW(259) & "m" & " ", _
    "tri" & ChrW(7879) & "u" & "," & " ")
s10 = "m" & ChrW(432) & ChrW(7901) & "i" & " "
le = "l" & ChrW(7867) & " "
s0 = "k" & "h" & ChrW(244) & "n" & "g" & " "
ReDim ch1(1 To Len(sodoi), 1)
For i = 1 To Len(sodoi)
    s = Val(Mid(sodoi, Len(sodoi) - i + 1, 1))
  If i = 1 Then
    ch1(1, 1) = cs(s) & dv(1)
  Else
    If (i Mod 3) = 1 Then
        ch1(i, 1) = cs(s) & dv(i)
    Else
       If s = 0 Then
            If Mid(sodoi, Len(sodoi) - i + 2, 1) = 0 Then
                ch1(i, 1) = ""
            Else
                ch1(i, 1) = le
            End If
       Else
            ch1(i, 1) = cs(s) & dv(i)
       End If
    End If
    If ch1(i, 1) = "m" & ChrW(7897) & "t" & " " & "m" & ChrW(432) & ChrW(417) & "i" & " " Then ch1(i, 1) = s10
  End If
SoChu = ch1(i, 1) & SoChu
Next
SoChu = UCase(Left(SoChu, 1)) & Right(SoChu, Len(SoChu) - 1)
If Left(so, 1) = "-" Then SoChu = "Tr" & ChrW(7915) & " " & SoChu
End Function
 
Upvote 0
Số là 101001136 thì đọc như hình mới ổn chứ ah! vả lại chưa khai báo s ah!
 

File đính kèm

  • HieuCD-1.jpg
    HieuCD-1.jpg
    23.6 KB · Đọc: 23
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom