Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để chuyển đổi tiền tệ sang văn bản từ trong Excel?

Đối với những người không phải là người bản ngữ sử dụng tiếng Anh như ngôn ngữ thứ hai của họ, đôi khi khó có thể trực tiếp thay đổi số đơn vị tiền tệ sang các từ tiếng Anh khi số quá dài. Trong bài viết này, bạn sẽ học cách dễ dàng chuyển đổi tiền tệ sang văn bản từ trong Excel.

Chuyển đổi tiền tệ sang các từ có mã VBA
Chuyển đổi tiền tệ sang từ với Kutools cho Excel


Chuyển đổi tiền tệ sang các từ có mã VBA

Với mã VBA dưới đây, bạn có thể chuyển đổi số tiền tệ sang từ tiếng Anh.

1. nhấn Khác + F11 để mở Microsoft Visual Basic cho các ứng dụng hộp thoại.

2. bên trong Microsoft Visual Basic cho các ứng dụng hộp thoại, nhấn Chèn > Module. Sau đó sao chép và dán đoạn mã dưới đây vào cửa sổ mã.

Mã VBA: Chuyển đổi số tiền tệ sang Từ tiếng Anh

Function NumberstoWords(ByVal pNumber)
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
    Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
    pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
    xHundred = ""
    xValue = Right(pNumber, 3)
    If Val(xValue) <> 0 Then
        xValue = Right("000" & xValue, 3)
        If Mid(xValue, 1, 1) <> "0" Then
            xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
        End If
        If Mid(xValue, 2, 1) <> "0" Then
            xHundred = xHundred & GetTens(Mid(xValue, 2))
        Else
            xHundred = xHundred & GetDigit(Mid(xValue, 3))
        End If
    End If
    If xHundred <> "" Then
        Dollars = xHundred & arr(xIndex) & Dollars
    End If
    If Len(pNumber) > 3 Then
        pNumber = Left(pNumber, Len(pNumber) - 3)
    Else
        pNumber = ""
    End If
    xIndex = xIndex + 1
Loop
Select Case Dollars
    Case ""
        Dollars = "No Dollars"
    Case "One"
        Dollars = "One Dollar"
    Case Else
        Dollars = Dollars & " Dollars"
End Select
Select Case Cents
    Case ""
        Cents = " and No Cents"
    Case "One"
        Cents = " and One Cent"
    Case Else
        Cents = " and " & Cents & " Cents"
End Select
NumberstoWords = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
    Select Case Val(pTens)
        Case 10: Result = "Ten"
        Case 11: Result = "Eleven"
        Case 12: Result = "Twelve"
        Case 13: Result = "Thirteen"
        Case 14: Result = "Fourteen"
        Case 15: Result = "Fifteen"
        Case 16: Result = "Sixteen"
        Case 17: Result = "Seventeen"
        Case 18: Result = "Eighteen"
        Case 19: Result = "Nineteen"
        Case Else
    End Select
Else
Select Case Val(Left(pTens, 1))
    Case 2: Result = "Twenty "
    Case 3: Result = "Thirty "
    Case 4: Result = "Forty "
    Case 5: Result = "Fifty "
    Case 6: Result = "Sixty "
    Case 7: Result = "Seventy "
    Case 8: Result = "Eighty "
    Case 9: Result = "Ninety "
    Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
    Case 1: GetDigit = "One"
    Case 2: GetDigit = "Two"
    Case 3: GetDigit = "Three"
    Case 4: GetDigit = "Four"
    Case 5: GetDigit = "Five"
    Case 6: GetDigit = "Six"
    Case 7: GetDigit = "Seven"
    Case 8: GetDigit = "Eight"
    Case 9: GetDigit = "Nine"
    Case Else: GetDigit = ""
End Select
End Function

3. nhấn Khác + Q các phím đồng thời để đóng Microsoft Visual Basic cho các ứng dụng hộp thoại.

4. Chọn một ô trống (B1) bên cạnh ô bạn muốn chuyển đổi thành từ, nhập công thức = NumberstoWords (A1), và sau đó nhấn đăng ký hạng mục thi Chìa khóa.

Chú thích: A1 là ô chứa số đơn vị tiền tệ. Bạn có thể thay đổi nó khi bạn cần.

5. Chọn ô B1, kéo Fill Handle xuống để lấy tất cả các từ tiếng Anh của các số đơn vị tiền tệ.


Chuyển đổi tiền tệ sang từ với Kutools cho Excel

Mã VBA dài này có vẻ phức tạp. Sau đây tôi sẽ giới thiệu cho bạn một tiện ích hữu ích để dễ dàng giải quyết vấn đề này. Với Số thành từ tiện ích của Kutools cho Excel, việc chuyển đổi tiền tệ sang từ ngữ sẽ không còn là vấn đề nữa. Hãy làm như sau.

Trước khi áp dụng Kutools cho Excel, Xin vui lòng tải xuống và cài đặt nó trước tiên.

1. Chọn các ô có số đơn vị tiền tệ bạn muốn chuyển đổi.

2. nhấp chuột Kutools > Nội dung > Số thành từ. Xem ảnh chụp màn hình:

3. bên trong Số cho từ tiền tệ hộp thoại, chọn Tiếng Anh và nhấp vào OK or Đăng Nhập .

Bây giờ các số tiền tệ đã chọn được chuyển đổi sang các từ tiếng Anh ngay lập tức.

  Nếu bạn muốn dùng thử miễn phí (30-day) của tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (16)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
tiền tệ luôn bằng Đô la và xu, Làm thế nào chúng ta có thể đổi tiền này sang tiền tệ khác?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn có thể thay đổi mã thành đơn vị tiền tệ của mình thay vì "dollers"
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Anh Shaji, anh có thể hướng dẫn các bước được không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xem lại bài viết Hướng dẫn dành cho người mới bắt đầu chuyển đổi số triệu tỷ nghìn tỷ để tìm hiểu và hiểu về hệ thống số và chuyển đổi số.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
không thể thay đổi tiền tệ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi yêu macro của bạn. Tìm thấy một thứ không hoạt động tốt. Đó là khi có một phân số. Ví dụ: nếu một trường xuất hiện dưới dạng .835 excel làm tròn nó lên nhưng giá trị được nhập là "tám mươi ba xu" trong khi excel hiển thị .84.
Làm việc xung quanh cho điều này?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Xin lỗi vì sự bất tiện. Chúng tôi đã cập nhật mã, vui lòng thử.

Function NumberstoWords(ByVal pNumber)
'Updated by Extendoffice 20220428
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
pNumber = Round(pNumber, 2)
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
    Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
    pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
    xHundred = ""
    xValue = Right(pNumber, 3)
    If Val(xValue) <> 0 Then
        xValue = Right("000" & xValue, 3)
        If Mid(xValue, 1, 1) <> "0" Then
            xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
        End If
        If Mid(xValue, 2, 1) <> "0" Then
            xHundred = xHundred & GetTens(Mid(xValue, 2))
        Else
            xHundred = xHundred & GetDigit(Mid(xValue, 3))
        End If
    End If
    If xHundred <> "" Then
        Dollars = xHundred & arr(xIndex) & Dollars
    End If
    If Len(pNumber) > 3 Then
        pNumber = Left(pNumber, Len(pNumber) - 3)
    Else
        pNumber = ""
    End If
    xIndex = xIndex + 1
Loop
Select Case Dollars
    Case ""
        Dollars = "No Dollars"
    Case "One"
        Dollars = "One Dollar"
    Case Else
        Dollars = Dollars & " Dollars"
End Select
Select Case Cents
    Case ""
        Cents = " and No Cents"
    Case "One"
        Cents = " and One Cent"
    Case Else
        Cents = " and " & Cents & " Cents"
End Select
NumberstoWords = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
    Select Case Val(pTens)
        Case 10: Result = "Ten"
        Case 11: Result = "Eleven"
        Case 12: Result = "Twelve"
        Case 13: Result = "Thirteen"
        Case 14: Result = "Fourteen"
        Case 15: Result = "Fifteen"
        Case 16: Result = "Sixteen"
        Case 17: Result = "Seventeen"
        Case 18: Result = "Eighteen"
        Case 19: Result = "Nineteen"
        Case Else
    End Select
Else
Select Case Val(Left(pTens, 1))
    Case 2: Result = "Twenty "
    Case 3: Result = "Thirty "
    Case 4: Result = "Forty "
    Case 5: Result = "Fifty "
    Case 6: Result = "Sixty "
    Case 7: Result = "Seventy "
    Case 8: Result = "Eighty "
    Case 9: Result = "Ninety "
    Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
    Case 1: GetDigit = "One"
    Case 2: GetDigit = "Two"
    Case 3: GetDigit = "Three"
    Case 4: GetDigit = "Four"
    Case 5: GetDigit = "Five"
    Case 6: GetDigit = "Six"
    Case 7: GetDigit = "Seven"
    Case 8: GetDigit = "Eight"
    Case 9: GetDigit = "Nine"
    Case Else: GetDigit = ""
End Select
End Function
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Macro này ở đây đã giúp tôi rất nhiều, cảm ơn bạn rất nhiều vì điều đó. Đơn vị tiền tệ của chúng tôi ở đây ở Kuwait có 3 chữ số sau số thập phân, bạn có thể giúp tôi điều này được không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nếu 45.67 được viết là bốn mươi lăm đô la, sáu mươi bảy xu, thì 45.678 được viết như thế nào? Có phải là bốn mươi lăm đô la, sáu trăm bảy mươi tám xu không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn muốn một giải pháp không yêu cầu VBA?
Kiểm tra nó ra ở đây
Xem kết quả trong ảnh chụp màn hình
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn có thể cập nhật mã để sử dụng Dinar và Fils được không .. Số thập phân là 3 .. nghĩa là nó có hàng trăm, hàng chục và hàng đơn vị ..
Cảm ơn bạn ..
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Naseem,
Có lẽ mã VBA trên trang sau có thể giúp ích.
Chuyển số thành từ bằng Dinar và Fils.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn rất nhiều ..
Bạn có thể cập nhật để viết các điền vào số không phải từ.
125.100 -> Một Trăm Hai mươi lăm Dinar Kuwait và 100 Fils Chỉ

Cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào giúp đỡ, tôi thích công thức của bạn nhưng tôi muốn cập nhật công thức để nó giống như ví dụ bằng chữ in hoa. Cảm ơn rất nhiều.
Ví dụ:
121,500.56 USD = Một trăm hai mươi mốt nghìn năm trăm đô la và năm mươi sáu xu
*** MỘT TRĂM TRĂM NGHĨA, NĂM TRĂM NGÀN VÀ 56/100 ĐÔ LA MỸ

USD 121,500.00 = Một trăm hai mươi mốt nghìn năm trăm đô la và không xu
*** MỘT TRĂM TRĂM NGHĨA, NĂM TRĂM NGÀN VÀ 00/100 ĐÔ LA MỸ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào thiên thần,
Mã VBA sau đây có thể giúp bạn. Sau khi thêm mã vào Mô-đun (Mã) cửa sổ. Đừng quên áp dụng công thức này =SốTừ(ô) để nhận được kết quả.
Function NumberstoWords(ByVal pNumber)
'Updated by Extendoffice 20221123
Application.Volatile

Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")

If xDecimal > 0 Then
    Cents = Left(Mid(pNumber, xDecimal + 1) & "00", 2)
    Cents = "AND " & Cents & "/100 US DOLLARS"
    pNumber = Trim(Left(pNumber, xDecimal - 1))
Else
    Cents = "AND " & "00/100 US DOLLARS"
End If


xIndex = 1
Do While pNumber <> ""
    xHundred = ""
    xValue = Right(pNumber, 3)
    If Val(xValue) <> 0 Then
        xValue = Right("000" & xValue, 3)
        If Mid(xValue, 1, 1) <> "0" Then
            xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
        End If
        If Mid(xValue, 2, 1) <> "0" Then
            xHundred = xHundred & GetTens(Mid(xValue, 2))
        Else
            xHundred = xHundred & GetDigit(Mid(xValue, 3))
        End If
    End If
    If xHundred <> "" Then
        Dollars = xHundred & arr(xIndex) & Dollars
    End If
    If Len(pNumber) > 3 Then
        pNumber = Left(pNumber, Len(pNumber) - 3)
    Else
        pNumber = ""
    End If
    xIndex = xIndex + 1
Loop
Select Case Dollars
    Case ""
        Dollars = "No Dollars"
    Case "One"
        Dollars = "One Dollar"
    Case Else
        Dollars = Dollars
End Select
NumberstoWords = UCase(Dollars & Cents)
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
    Select Case Val(pTens)
        Case 10: Result = "Ten"
        Case 11: Result = "Eleven"
        Case 12: Result = "Twelve"
        Case 13: Result = "Thirteen"
        Case 14: Result = "Fourteen"
        Case 15: Result = "Fifteen"
        Case 16: Result = "Sixteen"
        Case 17: Result = "Seventeen"
        Case 18: Result = "Eighteen"
        Case 19: Result = "Nineteen"
        Case Else
    End Select
Else
Select Case Val(Left(pTens, 1))
    Case 2: Result = "Twenty "
    Case 3: Result = "Thirty "
    Case 4: Result = "Forty "
    Case 5: Result = "Fifty "
    Case 6: Result = "Sixty "
    Case 7: Result = "Seventy "
    Case 8: Result = "Eighty "
    Case 9: Result = "Ninety "
    Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
    Case 1: GetDigit = "One"
    Case 2: GetDigit = "Two"
    Case 3: GetDigit = "Three"
    Case 4: GetDigit = "Four"
    Case 5: GetDigit = "Five"
    Case 6: GetDigit = "Six"
    Case 7: GetDigit = "Seven"
    Case 8: GetDigit = "Eight"
    Case 9: GetDigit = "Nine"
    Case Else: GetDigit = ""
End Select
End Function
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL