Hướng dẫn spell number in excel not working - số chính tả trong excel không hoạt động

Bài viết sẽ chỉ cho bạn cách giải quyết vấn đề chính tả không hoạt động trong Excel. Về cơ bản, Excel không có chức năng tích hợp nào để tự đánh vần một số hoặc tiền tệ. Nhưng điều quan trọng là lưu trữ một số ở dạng chính tả trong lĩnh vực thị trường ngân hàng hoặc thị trường chứng khoán. Mặc dù Excel không có bất kỳ tính năng tích hợp nào cho việc này, chúng tôi có thể áp dụng một macro để tạo chức năng do người dùng xác định [UDF] có thể trả về số hoặc tiền tệ ở dạng chính tả của nó. Hãy để điều chỉnh trong các phần sau của bài viết này để xem làm thế nào để làm điều này.spell number not working problem in Excel. Basically, Excel doesn’t have any built-in function to spell a number or currency on its own. But it’s important to store a number in its spelling form in the banking or stock market sector. Although Excel doesn’t have any built-in feature for this, we can apply a Macro to create a User Defined Function [UDF] which can return a number or currency in its spelling form. Let’s tune in the following sections of this article to see how to do this.

Tải xuống Sổ làm việc thực hành

2 giải pháp khả thi nếu số phép thuật không hoạt động trong excel

Trên trang web của Microsoft Excel, có một macro được sử dụng để có được dạng chính tả của một số nhưng nó là phiên bản cũ của Excel. Ở đây tôi có hai macro khác nhau cho hai loại tiền tệ khác nhau: đô la Mỹ và đồng rupee Ấn Độ, sẽ có hiệu quả trong việc có được bất kỳ hình thức chính tả nào cho một số hoặc tiền tệ.Macro which was used to get the spelling form of a number but it was for the older version of Excel. Here I have two different Macros for two different currencies: US Dollar and Indian Rupee, which will be effective in getting any spelling form for a number or currency.

1. Giải số chính tả cho chúng tôi tiền tệ

Chúng tôi sẽ sử dụng Microsoft Visual Basic cho các ứng dụng [VBA] để tạo UDF để có được dạng chính tả của một số. Hãy cùng đi qua các thủ tục dưới đây.Microsoft Visual Basic for Applications [VBA] to create a UDF to get the spelling form of a number. Let’s go through the procedures below.

Steps:

  • Đầu tiên, đi đến tab Nhà phát triển và sau đó chọn Visual Basic.Developer Tab and then select Visual Basic.

  • Sau đó, biên tập viên VBA sẽ xuất hiện. Chọn Chèn >> Mô -đun để mở mô -đun VBA.VBA editor will appear. Select Insert >> Module to open a VBA Module.

  • Bây giờ, nhập mã sau trong mô -đun VBA.VBA Module.
Option Explicit
Function SpellNumber1[ByVal mn_MyNumber]
Dim mn_Dollars, mn_Cents, mn_temp_value
Dim mn_decimal_place, mn_count
ReDim mn_place[9] As String
mn_place[2] = " Thousand "
mn_place[3] = " Million "
mn_place[4] = " Billion "
mn_place[5] = " Trillion "
mn_MyNumber = Trim[Str[mn_MyNumber]]
mn_decimal_place = InStr[mn_MyNumber, "."]
If mn_decimal_place > 0 Then
mn_Cents = CalculateTens[Left[Mid[mn_MyNumber, mn_decimal_place + 1] & _
"00", 2]]
mn_MyNumber = Trim[Left[mn_MyNumber, mn_decimal_place - 1]]
End If
mn_count = 1
Do While mn_MyNumber  ""
mn_temp_value = CalculateHundreds[Right[mn_MyNumber, 3]]
If mn_temp_value  "" Then mn_Dollars = mn_temp_value & mn_place[mn_count] & mn_Dollars
If Len[mn_MyNumber] > 3 Then
mn_MyNumber = Left[mn_MyNumber, Len[mn_MyNumber] - 3]
Else
mn_MyNumber = ""
End If
mn_count = mn_count + 1
Loop
Select Case mn_Dollars
Case ""
mn_Dollars = "Zero Dollars"
Case "One"
mn_Dollars = "One Dollar"
Case Else
mn_Dollars = mn_Dollars & " Dollars"
End Select
Select Case mn_Cents
Case ""
mn_Cents = ""
Case "One"
mn_Cents = " and One Cent"
Case Else
mn_Cents = " and " & mn_Cents & " Cents"
End Select
SpellNumber1 = mn_Dollars & mn_Cents
End Function
Function CalculateHundreds[ByVal mn_MyNumber]
    Dim mn_result As String
    If Val[mn_MyNumber] = 0 Then Exit Function
    mn_MyNumber = Right["000" & mn_MyNumber, 3]
    If Mid[mn_MyNumber, 1, 1]  "0" Then
        mn_result = StoreDigit[Mid[mn_MyNumber, 1, 1]] & " Hundred "
    End If
    If Mid[mn_MyNumber, 2, 1]  "0" Then
        mn_result = mn_result & CalculateTens[Mid[mn_MyNumber, 2]]
    Else
        mn_result = mn_result & StoreDigit[Mid[mn_MyNumber, 3]]
    End If
    CalculateHundreds = mn_result
End Function
Function CalculateTens[mn_tens]
    Dim mn_result As String
    mn_result = ""
    If Val[Left[mn_tens, 1]] = 1 Then
        Select Case Val[mn_tens]
            Case 10: mn_result = "Ten"
            Case 11: mn_result = "Eleven"
            Case 12: mn_result = "Twelve"
            Case 13: mn_result = "Thirteen"
            Case 14: mn_result = "Fourteen"
            Case 15: mn_result = "Fifteen"
            Case 16: mn_result = "Sixteen"
            Case 17: mn_result = "Seventeen"
            Case 18: mn_result = "Eighteen"
            Case 19: mn_result = "Nineteen"
            Case Else
        End Select
    Else
        Select Case Val[Left[mn_tens, 1]]
            Case 2: mn_result = "Twenty "
            Case 3: mn_result = "Thirty "
            Case 4: mn_result = "Forty "
            Case 5: mn_result = "Fifty "
            Case 6: mn_result = "Sixty "
            Case 7: mn_result = "Seventy "
            Case 8: mn_result = "Eighty "
            Case 9: mn_result = "Ninety "
            Case Else
        End Select
        mn_result = mn_result & StoreDigit[Right[mn_tens, 1]]
    End If
    CalculateTens = mn_result
End Function
Function StoreDigit[mn_digit]
    Select Case Val[mn_digit]
        Case 1: StoreDigit = "One"
        Case 2: StoreDigit = "Two"
        Case 3: StoreDigit = "Three"
        Case 4: StoreDigit = "Four"
        Case 5: StoreDigit = "Five"
        Case 6: StoreDigit = "Six"
        Case 7: StoreDigit = "Seven"
        Case 8: StoreDigit = "Eight"
        Case 9: StoreDigit = "Nine"
        Case Else: StoreDigit = ""
    End Select
End Function

Bạn có thể thấy rằng macro hơi phức tạp, vì vậy tôi sẽ không cung cấp các chi tiết nặng nề vì điều đó sẽ làm cho nó phức tạp hơn. Nhưng tôi có thể đề xuất biến nào bạn cần thay thế bằng tên tiền tệ của bạn. Vì macro này dành cho tiền tệ của Hoa Kỳ, bạn chỉ cần thay thế các biến số đô la [MN_Dollars] và Cents [MN_CENTS] bằng ghi chú tiền tệ và tên tiền của quốc gia của bạn. Thay thế các biến này cũng có thể khó khăn nếu bạn muốn làm từng một. Quá trình dễ dàng nhất có thể là sử dụng tính năng Find & Street của Trình chỉnh sửa VBA. Chỉ cần nhấp vào biểu tượng hai mắt của trình soạn thảo và thay thế các đô la [mn_dollars] và xu [mn_cents] & nbsp; các biến với tên tiền tệ mong muốn của bạn.Macro is a bit complex, so I’m not going to provide the heavy details because that will make it more complex. But I can suggest which variable you need to replace with your currency name. As this Macro is for the US currency, you just need to replace the Dollars [mn_Dollars] and Cents [mn_Cents] variables with your country’s currency note and coin names, respectively. Replacing these variables could be difficult too if you want to do this one by one. The easiest process could be using the Find & Replace feature of the VBA editor. Just click on the Binocular icon of the editor and replace the Dollars [mn_Dollars] and Cents [mn_Cents] variables with your desired currency names.

  • Bây giờ, quay lại trang tính của bạn, nhập công thức sau vào ô C5 và nhấn Enter.C5, and press ENTER.

Tên UDF ở đây là SpellNumber1 và sẽ trả lại số bằng B5 dưới dạng tiền tệ của Hoa Kỳ.UDF name here is SpellNumber1 and will return the number in B5 as US currency.

  • Sau đó, sử dụng tay cầm điền để tự động điền các ô thấp hơn để xem thêm các ví dụ về số lượng để đánh vầnFill Handle to AutoFill the lower cells to see more examples of the number to spelling

Chúng tôi cũng có thể kết hợp UDF này với các chức năng Excel khác để sửa đổi kết quả. Hãy nói, chúng tôi muốn tiền tệ bằng chữ in hoa và nó sẽ kết thúc với một bản nhạc chỉ có một số người khác. Chúng ta có thể làm điều này bằng cách sử dụng các hàm incatenate và trên.UDF with other Excel functions to modify the results. Let’s say, we want the currency in capital letters and it will end with an “ONLY”. We can do this using CONCATENATE and UPPER functions.

=CONCATENATE[UPPER[SpellNumber1[B9]], " ONLY"]

Do đó, bạn có thể giải quyết vấn đề về số chính tả không hoạt động trong Excel.spell number not working in Excel.

2. Giải quyết nếu số chính tả không hoạt động cho tiền tệ Ấn Độ

Chúng tôi cũng có thể sử dụng một UDF tương tự mà chúng tôi đã sử dụng trước đây để có được dạng chính tả của một số. Hãy cùng đi qua các thủ tục dưới đây.UDF that we used previously to get the spelling form of a number. Let’s go through the procedures below.

Steps:

  • Đầu tiên, hãy làm theo các bước của Phương pháp 1 để mở mô -đun VBA.Method 1 to open a VBA Module.
  • Sau đó, nhập mã sau vào mô -đun VBA.VBA Module.
Function SpellNumber2[mn_currency As Variant] As Variant
Dim mnFigure As Variant
Dim mn_words[19] As String
Dim mn_decimaltens[9] As String
mn_words[1] = "One"
mn_words[2] = "Two"
mn_words[3] = "Three"
mn_words[4] = "Four"
mn_words[5] = "Five"
mn_words[6] = "Six"
mn_words[7] = "Seven"
mn_words[8] = "Eight"
mn_words[9] = "Nine"
mn_words[10] = "Ten"
mn_words[11] = "Eleven"
mn_words[12] = "Twelve"
mn_words[13] = "Thirteen"
mn_words[14] = "Fourteen"
mn_words[15] = "Fifteen"
mn_words[16] = "Sixteen"
mn_words[17] = "Seventeen"
mn_words[18] = "Eighteen"
mn_words[19] = "Nineteen"
mn_decimaltens[2] = "Twenty "
mn_decimaltens[3] = "Thirty "
mn_decimaltens[4] = "Fourty "
mn_decimaltens[5] = "Fifty "
mn_decimaltens[6] = "Sixty "
mn_decimaltens[7] = "Seventy "
mn_decimaltens[8] = "Eighty "
mn_decimaltens[9] = "Ninety "
mnFigure = mn_currency
mnFigure = Format[mnFigure, "FIXED"]
mn_length_figure = Len[mnFigure]
If mn_length_figure < 12 Then
mnFigure = Space[12 - mn_length_figure] & mnFigure
End If
If Val[Left[mnFigure, 9]] > 1 Then
SpellNumber2 = "Rupees "
ElseIf Val[Left[mnFigure, 9]] = 1 Then
SpellNumber2 = "Rupee "
End If
For mn_k = 1 To 3
If Val[Left[mnFigure, 2]] < 20 And Val[Left[mnFigure, 2]] > 0 Then
SpellNumber2 = SpellNumber2 & mn_words[Val[Left[mnFigure, 2]]]
ElseIf Val[Left[mnFigure, 2]] > 19 Then
SpellNumber2 = SpellNumber2 & mn_decimaltens[Val[Left[mnFigure, 1]]]
SpellNumber2 = SpellNumber2 & mn_words[Val[Right[Left[mnFigure, 2], 1]]]
End If
If mn_k = 1 And Val[Left[mnFigure, 2]] > 0 Then
SpellNumber2 = SpellNumber2 & " Crore "
ElseIf mn_k = 2 And Val[Left[mnFigure, 2]] > 0 Then
SpellNumber2 = SpellNumber2 & " Lakh "
ElseIf mn_k = 3 And Val[Left[mnFigure, 2]] > 0 Then
SpellNumber2 = SpellNumber2 & " Thousand "
End If
mnFigure = Mid[mnFigure, 3]
Next mn_k
If Val[Left[mnFigure, 1]] > 0 Then
SpellNumber2 = SpellNumber2 & mn_words[Val[Left[mnFigure, 1]]] + " Hundred "
End If
mnFigure = Mid[mnFigure, 2]
If Val[Left[mnFigure, 2]] < 20 And Val[Left[mnFigure, 2]] > 0 Then
SpellNumber2 = SpellNumber2 & mn_words[Val[Left[mnFigure, 2]]]
ElseIf Val[Left[mnFigure, 2]] > 19 Then
SpellNumber2 = SpellNumber2 & mn_decimaltens[Val[Left[mnFigure, 1]]]
SpellNumber2 = SpellNumber2 & mn_words[Val[Right[Left[mnFigure, 2], 1]]]
End If
mnFigure = Mid[mnFigure, 4]
If Val[mnFigure] > 0 Then
SpellNumber2 = SpellNumber2 & " Paise "
If Val[Left[mnFigure, 2]] < 20 And Val[Left[mnFigure, 2]] > 0 Then
SpellNumber2 = SpellNumber2 & mn_words[Val[Left[mnFigure, 2]]]
ElseIf Val[Left[mnFigure, 2]] > 19 Then
SpellNumber2 = SpellNumber2 & mn_decimaltens[Val[Left[mnFigure, 1]]]
SpellNumber2 = SpellNumber2 & mn_words[Val[Right[Left[mnFigure, 2], 1]]]
End If
End If
mnFigure = mn_currency
mnFigure = Format[mnFigure, "FIXED"]
If Val[mnFigure] > 0 Then
SpellNumber2 = SpellNumber2 & " Only "
End If
End Function

Bạn có thể thấy rằng macro hơi phức tạp, vì vậy tôi sẽ không cung cấp các chi tiết nặng nề vì điều đó sẽ làm cho nó phức tạp hơn. Nhưng bạn có thể làm theo các đề xuất mà tôi đã đưa ra trong phương thức trước bằng cách nhấp vào liên kết này.Macro is a bit complex, so I’m not going to provide the heavy details because that will make it more complex. But you can follow the suggestions that I gave in the previous method by clicking on this link.

  • Bây giờ, quay lại trang tính của bạn, nhập công thức sau vào ô C5 và nhấn Enter.C5, and press ENTER.

Tên UDF ở đây là SpellNumber1 và sẽ trả lại số bằng B5 dưới dạng tiền tệ của Hoa Kỳ.UDF name here is SpellNumber2 and will return the number in B5 as Indian currency.

  • Sau đó, sử dụng tay cầm điền để tự động điền các ô thấp hơn để xem thêm các ví dụ về số lượng để đánh vầnFill Handle to AutoFill the lower cells to see more examples of the number to spelling

Do đó, bạn có thể giải quyết vấn đề về số chính tả không hoạt động trong Excel.spell number not working in Excel.

2. Giải quyết nếu số chính tả không hoạt động cho tiền tệ Ấn Độ

Chúng tôi cũng có thể sử dụng một UDF tương tự mà chúng tôi đã sử dụng trước đây để có được dạng chính tả của một số. Hãy cùng đi qua các thủ tục dưới đây.UDF to work on every Excel workbook on your PC, you can make an Add-in using the Macro. Let’s say, we want the numbers to be spelled in the US currency. See how we can do this.

Steps:

  • Đầu tiên, hãy làm theo các bước của Phương pháp 1 để mở mô -đun VBA.VBA code in Method 1 and paste it into a VBA Module of that workbook. Also, you should choose a unique name for the User Defined Function.
  • Sau đó, nhập mã sau vào mô -đun VBA.File

  • Bạn có thể thấy rằng macro hơi phức tạp, vì vậy tôi sẽ không cung cấp các chi tiết nặng nề vì điều đó sẽ làm cho nó phức tạp hơn. Nhưng bạn có thể làm theo các đề xuất mà tôi đã đưa ra trong phương thức trước bằng cách nhấp vào liên kết này.Save As >> Excel Add-in [.xlam File Extension] >> Save.

Tên UDF ở đây là SpellNumber2 và sẽ trả lại số bằng B5 dưới dạng tiền tệ Ấn Độ.Add-in.

  • Áp dụng thêm vào các số chính tảspell the number.
  • Các quy trình trên chỉ có thể được thực hiện khi bạn mở sổ làm việc tương ứng. Nếu bạn muốn UDF này hoạt động trên mọi sổ làm việc Excel trên PC, bạn có thể tạo một bổ trợ bằng cách sử dụng macro. Hãy nói, chúng tôi muốn các con số được đánh vần bằng tiền tệ của Hoa Kỳ. Xem làm thế nào chúng ta có thể làm điều này.File >> Options >> Add-ins >> Go.

  • Đầu tiên, hãy tạo một sổ làm việc Excel mới và sao chép mã VBA trong Phương pháp 1 và dán nó vào mô -đun VBA của sổ làm việc đó. Ngoài ra, bạn nên chọn một tên duy nhất cho chức năng do người dùng xác định.Add-ins window will show up. Check Spelluscurrency as it is the Add-in that we can use to convert numbers or currencies to their spelling

Tiếp theo, đi đến tệpMethod 1. The main advantage is that we can use the SpellUSCurrency function in future workbooks like normal Excel built-in functions.

Áp dụng bổ trợ này cũng sẽ cứu bạn khỏi sự cố của việc sao chép và dán mã VBA nhiều lần.Add-in will also save you from the trouble of copying and pasting the VBA code again and again.

Sự kết luận

Điểm mấu chốt là, bạn có thể tìm hiểu hai thủ thuật cơ bản về cách giải quyết vấn đề chính tả không hoạt động trong Excel. Nếu bạn có bất kỳ đề xuất hoặc câu hỏi hoặc phản hồi nào tốt hơn về bài viết này, vui lòng chia sẻ chúng trong hộp bình luận. Điều này sẽ giúp tôi làm phong phú thêm các bài viết sắp tới của mình. Để biết thêm các truy vấn, vui lòng truy cập trang web của chúng tôi Exceldemy.spelling number not working in Excel. If you have any better suggestions or questions or feedback regarding this article, please share them in the comment box. This will help me enrich my upcoming articles. For more queries, kindly visit our website ExcelDemy.

Làm cách nào để bật số chính tả trong Excel?

Sử dụng hàm SpellNumber trong các ô riêng lẻ Nhập công thức = SpellNumber [A1] vào ô nơi bạn muốn hiển thị một số bằng văn bản, trong đó A1 là ô chứa số bạn muốn chuyển đổi. Bạn cũng có thể gõ thủ công giá trị như = SpellNumber [22,50]. Nhấn Enter để xác nhận công thức. Type the formula =SpellNumber[A1] into the cell where you want to display a written number, where A1 is the cell containing the number you want to convert. You can also manually type the value like =SpellNumber[22.50]. Press Enter to confirm the formula.

Làm cách nào để chuyển đổi số thành văn bản trong Excel tự động?

Số định dạng là văn bản..
Chọn ô hoặc phạm vi ô chứa các số mà bạn muốn định dạng làm văn bản. Cách chọn ô hoặc một phạm vi. ....
Trên tab Home, trong nhóm số, nhấp vào mũi tên bên cạnh hộp định dạng số, sau đó nhấp vào văn bản ..

Làm cách nào để tải xuống SpellNumber trong Excel?

Làm thế nào để tự động thêm phép thuật trong MS Excel..
Tải xuống một tập tin Nhấp vào nút Tải xuống ..
Chuyển đến máy tính của tôi và nhấp vào tổ chức chương trình ở trên cùng bên trái và nhấp vào thư mục và tùy chọn tìm kiếm ..
Sau đó, nhấp vào Xem và nhấp vào Hiển thị các tệp, thư mục và ổ đĩa ẩn sau khi nhấp vào Áp dụng thì OK ..

Làm cách nào để gán số cho các từ trong excel?

Nếu đây chỉ là 2 hoặc 3 ô trong Excel, nơi bạn muốn chuyển đổi số thành chuỗi, hãy hưởng lợi từ việc thêm dấu nháy đơn trước số.Điều này sẽ ngay lập tức thay đổi định dạng số thành văn bản.Chỉ cần nhấp đúp vào một ô và nhập dấu nháy đơn trước giá trị số.adding an apostrophe before the number. This will instantly change the number format to text. Just double-click in a cell and enter the apostrophe before the numeric value.

Bài Viết Liên Quan

Chủ Đề