Xin code tạo macro đổi số thành chữ trong excel (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Status
Không mở trả lời sau này.

mytrangcactus

Thành viên mới
Tham gia
22/4/09
Bài viết
6
Được thích
0
Nghề nghiệp
accountant
Hi cả nhà
Cho e xin cái code đổi số thành chữ hoàn chỉnh với
e có search 1 số cái, nhưng mà ko chạy được
E mới tập tò, mong mọi người chỉ giáo.
Thanks cả nhà.@$@!^%
 
Có ai có cách đổi số sang chữ trong excel 2010 xin cho em với. Em đọc số tiền
Thanks
 
code đọc số ra chữ đó bạn


Mã:
Attribute VB_Name = "M_DocSo"

Function DocSoAbc(conso, Optional doiso1 = " linh", Optional doiso2 As Byte = 0) As String
doiso1 = " " & Trim(doiso1)
s09 = Array("", " mét", " hai", " ba", " bèn", " n¨m", " s¸u", " b¶y", " t¸m", " chÝn")
lop3 = Array("", " triÖu", " ngh×n", " tû", " triÖu", " ngh×n", "")
If Trim(conso) = "" Then
  DocSoAbc = ""
ElseIf IsNumeric(conso) = True Then
  If conso < 0 Then Dau = "©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 = " tû" Else s123 = ""
    Else
      If n1 = 0 Then
        If DocSo = "" Then s1 = "" Else s1 = " kh«ng tr¨m"
      Else
        s1 = s09(n1) & " tr¨m"
      End If
      If n2 = 0 Then
        If s1 = "" Or n3 = 0 Then
          s2 = ""
        Else
          s2 = doiso1
        End If
      Else
        If n2 = 1 Then s2 = " m­êi" Else s2 = s09(n2) & " m­¬i"
      End If
      If n3 = 1 Then
        If n2 = 1 Or n2 = 0 Then s3 = " mét" Else s3 = " mèt"
      ElseIf n3 = 5 And n2 <> 0 Then
        s3 = " l¨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 DocSoAbc = "kh«ng" Else DocSoAbc = Dau & Trim(DocSo)
Else
  DocSoAbc = conso
End If
If doiso2 = 0 Then DocSoAbc = UCase(Left(DocSoAbc, 1)) & Mid(DocSoAbc, 2)
If DocSoAbc <> "" Then DocSoAbc = DocSoAbc & " " & ""
End Function
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom