Tạo công thức đọc số trong Excel-Help

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi vnc9999, 18 Tháng một 2006.

5,797 lượt xem

  1. vnc9999

    vnc9999 Thành viên sơ cấp

    Bài viết:
    6
    Đã được thích:
    0
    Nơi ở:
    TPHCM
    Các anh chị có thể giúp em tạo một add-in de lam công thức trong excel như sau dược không :

    1.Hien em da co add-in nay(Em khong biet cach gui file dinh kem nen em chep doan macro nay ra) :
    Option Explicit

    Private Const KHONG_DONG As String = "Khoâng ñoàng"
    Private Const SO_LON As String = "Soá quaù lôùn"

    Private Const TRU As String = "tröø"

    Private Const TRAM As String = "traêm"
    Private Const MUOI As String = "möôi"
    Private Const GIDO As String = "Gì ñoù"

    Private Const NGANTY As String = "ngaøn tyû"
    Private Const TY As String = "tyû"
    Private Const TRIEU As String = "trieäu"
    Private Const NGAN As String = "ngaøn"
    Private Const DONG As String = "ñoàng"
    Private Const XU As String = "xu"

    Private Const MOT As String = "moät"
    Private Const HAI As String = "hai"
    Private Const BA As String = "ba"
    Private Const BON As String = "boán"
    Private Const NAM As String = "naêm"
    Private Const SAU As String = "saùu"
    Private Const BAY As String = "baûy"
    Private Const TAM As String = "taùm"
    Private Const CHIN As String = "chín"

    Private Const CHAN As String = "chaün"
    Private Const LE As String = "leõ"
    Private Const MUOIMOT As String = "möôøi moät"
    Private Const MUOIMOTT As String = "möôi moát"

    Public Function DichSo(ByVal BaoNhieu As String) As String
    On Error GoTo eh
    Dim KetQua As String, SoTien As String, Nhom As String, Dich As String
    Dim Chu As String, S1 As String, S2 As String, S3 As String
    Dim i As Long, j As Long, Vitri As Long, S As Double
    Dim Hang, Doc, Dem
    If BaoNhieu = 0 Then
    DichSo = KHONG_DONG
    Else
    If Abs(BaoNhieu) >= 1E+15 Then
    DichSo = SO_LON
    Else
    If BaoNhieu <= 0 Then
    BaoNhieu = TRU & Space(1)
    End If
    SoTien = Format(Abs(BaoNhieu), "#################0.00")
    SoTien = Right(Space(15) & SoTien, 18)
    Hang = Array("None", TRAM, MUOI, GIDO)
    Doc = Array("None", NGANTY, TY, TRIEU, NGAN, DONG, XU)
    Dem = Array("None", MOT, HAI, BA, BON, NAM, SAU, BAY, TAM, CHIN)
    For i = 1 To 6
    Nhom = Mid(SoTien, i * 3 - 2, 3)
    If Nhom <> Space(3) Then
    Select Case Nhom
    Case "000":
    If i = 5 Then
    Chu = DONG & Space(1)
    Else
    Chu = Space(0)
    End If
    Case ".00", ",00": Chu = CHAN
    Case Else:
    S1 = Left(Nhom, 1)
    S2 = Mid(Nhom, 2, 1)
    S3 = Right(Nhom, 1)
    Chu = Space(0)
    Hang(3) = Doc(i)
    For j = 1 To 3
    Dich = Space(0)
    S = Val(Mid(Nhom, j, 1))
    If S > 0 Then
    Dich = Dem(S) & Space(1) & Hang(j) & Space(1)
    End If
    Select Case j
    Case 2 And S = 1: Dich = MUOI & Space(1)
    Case 3 And S = 0 And Nhom <> Space(2) & "0": Dich = Hang(j) & Space(1)
    Case 3 And S = 5 And S2 <> Space(1) And S2 <> "0": Dich = "l" & Mid(Dich, 2)
    Case 2 And S = 0 And S3 <> "0":
    If ((S1 >= "1") And (S1 <= "9")) Or ((S1 = "0") And (i = 4)) Then
    Dich = LE & Space(1)
    End If
    End Select
    Chu = Chu & Dich
    Next j
    End Select
    Vitri = InStr(1, Chu, MUOIMOT, 1)
    If Vitri > 0 Then Mid(Chu, Vitri, 9) = MUOIMOTT
    KetQua = KetQua & Chu
    End If
    Next i
    End If
    End If
    DichSo = UCase(Left(KetQua, 1)) & Mid(KetQua, 2)
    Exit Function
    eh:
    DichSo = "[HASHTAG]#value[/HASHTAG]?"
    End Function
    2.Add-in nay tao công thức để đọc một số. Ví dụ số : 11,250.00 thì công thức sẽ đọc là : Mừoi một ngàn hai trăm năm mươi đồng chẵn.
    3.Các anh chị có thể giúp ? :
    -Tạo một công thức sẽ đọc số : 11,250.50 là : Mười một ngàn hai trăm năm mươi đô la Mỹ năm mươi xu
    -Một công thức khác : sẽ đọc số : 1,250.50 là One thousand two hundred fifty US Dollars and fifty cent.

    Cac anh chi giup mem co the gui theo dia chi mail : huongvn@hcm.vnn.vn
    Em xin cam on nhieu.
    Vu Nam Chien
     
    #1
  2. mysterious_girl

    mysterious_girl Thành viên sơ cấp

    Bài viết:
    358
    Đã được thích:
    1
    Nơi ở:
    ...close to you...
    Trên thư viện đã có add-in đọc số thành chữ bạn vào đó tải về rồi tham khảo nhé.
     
    #2
  3. mysterious_girl

    mysterious_girl Thành viên sơ cấp

    Bài viết:
    358
    Đã được thích:
    1
    Nơi ở:
    ...close to you...
    Dạo này sao mọi người toàn gõ tiếng việt ko dấu thế nhỉ???:wall: .Bác ơi, lần sau bác nhớ gõ có dấu nhé,nếu ko bài của bác sẽ bị đưa vào thùng rác đấy.
     
    #3

Chia sẻ trang này