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

Як перетворити валюту в текст слів у Excel?

Для тих, хто не носія мови, який використовує англійську мову як свою другу мову, іноді буває важко безпосередньо змінити номер валюти на англійські слова, коли номер занадто довгий. У цій статті ви дізнаєтеся, як легко перетворити валюту в текст слів у програмі Excel.

Перетворення валюти в слова з кодом VBA
Перетворіть валюту в слова за допомогою Kutools для Excel


Перетворення валюти в слова з кодом VBA

За допомогою наведеного нижче коду VBA ви можете перевести номер валюти в англійські слова.

1. прес інший + F11 відкрити Microsoft Visual Basic для додатків діалогове вікно.

2 В Microsoft Visual Basic для додатків діалогове вікно натисніть кнопку Insert > Модуль. Потім скопіюйте та вставте наведений нижче код у вікно коду.

Код VBA: Перетворіть номер валюти в англійські слова

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. прес інший + Q клавіші одночасно, щоб закрити Microsoft Visual Basic для додатків діалогове вікно.

4. Виберіть порожню комірку (B1), яка прилягає до комірки, яку потрібно перетворити на слова, введіть формулу = NumberstoWords (A1), а потім натисніть вводити ключ

примітки: A1 - клітинка містить номер валюти. Ви можете змінити його, як вам потрібно.

5. Виділіть клітинку B1, перетягніть ручку заповнення вниз, щоб отримати всі англійські слова номерів валют.


Перетворіть валюту в слова за допомогою Kutools для Excel

Цей довгий код VBA здається складним. Тут я представив вам зручну утиліту для легкого вирішення цієї проблеми. За допомогою Числа до слів корисність Kutools для Excel, перетворення валюти в слова більше не буде проблемою. Будь ласка, виконайте наступне.

Перед поданням заявки Kutools для Excel, будь ласка завантажте та встановіть його спочатку.

1. Виберіть комірки з номерами валют, які потрібно конвертувати.

2. клацання Кутулс > зміст > Числа до слів. Дивіться знімок екрана:

3 В Числа до валютних слів діалогове вікно, виберіть англійська та натисніть кнопку OK or Застосовувати кнопки.

Тепер вибрані номери валют негайно перетворюються на англійські слова.

  Якщо ви хочете отримати безкоштовну пробну версію (30 днів) цієї утиліти, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (11)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
валюта завжди в доларах і центах. Як ми можемо змінити це на іншу валюту?
Цей коментар був мінімізований модератором на сайті
Ви можете змінити код на свою валюту замість "долери"
Цей коментар був мінімізований модератором на сайті
Містер Шаджі, будь ласка, можете вказати кроки
Цей коментар був мінімізований модератором на сайті
Перегляньте статтю Рекомендації щодо перетворення мільйонів мільярдів трильйонів для початківців, щоб дізнатися й зрозуміти про систему числення та перетворення чисел.
Цей коментар був мінімізований модератором на сайті
не можна змінити валюту
Цей коментар був мінімізований модератором на сайті
Мені подобається твій макрос. Знайшов одну річ, яка не дуже добре працює. Ось коли є дробова. Наприклад, якщо поле відображається як .835, excel округляє його в більшу сторону, але значення вводиться як «вісімдесят три центи», тоді як excel показує .84.
Попрацювати для цього?
Цей коментар був мінімізований модератором на сайті
привіт,
Вибачте за незручності. Ми оновили код, будь ласка, спробуйте.

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
Цей коментар був мінімізований модератором на сайті
Цей макрос тут мені дуже допоміг, дуже дякую за це. Наша валюта тут, у Кувейті, має 3 цифри після десяткової, чи не могли б ви допомогти мені з цим?
Цей коментар був мінімізований модератором на сайті
Якщо 45.67 записано як сорок п’ять доларів шістдесят сім центів, то як буде записано 45.678? Це сорок п'ять доларів шістсот сімдесят вісім центів?
Цей коментар був мінімізований модератором на сайті
Що це за рішення, яке не потребує VBA? Перевірте це —> https://answers.microsoft.com/en-us/msoffice/forum/all/convert-currency-to-words-in-excel-ultimate/56d00927-2c4b-4a93-a990-6db4311da858
Цей коментар був мінімізований модератором на сайті
Бажаєте рішення, яке не вимагає VBA?
Перевірте це тут
Перегляньте результат на скріншоті
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця