Hàm SpellNumber của Microsoft (1 người xem)

  • Thread starter Thread starter jack nt
  • Ngày gửi Ngày gửi
Liên hệ QC

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

jack nt

Thành viên thường trực
Tham gia
23/12/07
Bài viết
304
Được thích
208
Hơn chục năm trước mình cũng mày mò viết hàm chuyển số thành chữ, dùng cũng tàm tạm. Nay cần dùng đến tìm không ra. search trên Net thấy cái hàm này của Microsoft
Cái này nó chuyển sang Dollar bằng tiếng Anh. Viết thêm phần dịch sang tiếng Việt là ổn.
Sửa đoạn đầu thành
Function SpellNumber(ByVal MyNumber, MyCurrency$)
'Main Function
If Not IsNumeric(MyNumber) Then
SpellNumber = MyNumber
Exit Function
End If
Dim NoMoneys$, OneMoney$, Moneys$, Xu$, Xus$
Select Case MyCurrency
Case "VND"
NoMoneys = "No VND"
OneMoney = "One VND"
Moneys = " VNDs"
Xu = "Cent"
Xus = "Cents"
Case "USD"
NoMoneys = "No Dollars"
OneMoney = "One Dollar"
Moneys = " Dollars"
Xu = "Cent"
Xus = "Cents"
Case "EUR"
NoMoneys = "No Euros"
OneMoney = "One Euro"
Moneys = " Euros"
Xu = "Cent"
Xus = "Cents"
End Select
...
là dùng được cả cho VND và Euro.
Cuối cùng là dịch sang tiếng Việt nữa là xong

Public Function ChangeMoney$(s$, NS$)
If s = vbNullString Then Exit Function
Dim Str$, i&, Index&
Select Case NS
Case "North": Index = 2
Case "South": Index = 3
Case Else: Index = 1
End Select
Str = s
With ShME
For i = 1 To 63
Str = Replace(Str, .Cells(i, 1), .Cells(i, Index), 1, -1, vbTextCompare)
Next
End With
If Str <> vbNullString Then
ChangeMoney$ = UCase(Left(Str, 1)) & Right(Str, Len(Str) - 1)
End If
End Function

P/S: nhớ dùng cái sheet đính kèm (phía trên gọi là ShME)
 

File đính kèm

Web KT

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

Back
Top Bottom