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

Як перетворити числа в слова в індійських рупіях в Excel?

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

Перетворіть цифри в слова в індійських рупіях за допомогою коду VBA

Перетворюйте цифри на слова англійською мовою з дивовижною функцією


Перетворіть цифри в слова в індійських рупіях за допомогою коду VBA

Наступний код VBA може допомогти вам перетворити цифри в слова в рупіях, зробіть так:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у вікно модуля.

Код VBA: Перетворення чисел у слова в рупіях

Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = " Rupees " & xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function 

3. Після вставки коду збережіть і закрийте вікно коду, поверніться до аркуша та введіть цю формулу: = Формат рупії (A2) в порожню комірку, а потім перетягніть маркер заповнення вниз, щоб застосувати цю формулу до інших комірок, всі цифри прописані в рупіях, див. знімок екрана:


Перетворюйте цифри на слова англійською мовою з дивовижною функцією

Якщо ви хочете перетворити цифри на слова англійською мовою, Kutools для ExcelАвтора Числа до слів Ця функція допоможе вам швидко та легко вирішити цю роботу.

Порада:Щоб застосувати це Число до слів По-перше, вам слід завантажити Kutools для Excel, а потім швидко та легко застосувати функцію.

після установки Kutools для Excel, будь ласка, зробіть так:

1. Виберіть список чисел, які потрібно перетворити, а потім клацніть Кутулс > зміст > Числа до слів, див. скріншоти:

2, в Числа до валютних слів діалогове вікно, виберіть англійська опція від мови і натисніть кнопку Ok кнопки, цифри у виборі були перетворені в слова англійської валюти, див. знімок екрана:

Натисніть, щоб завантажити Kutools для Excel та безкоштовну пробну версію зараз!

 


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

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

  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці та Ведення даних; Вміст розділених комірок; Поєднуйте повторювані рядки та суму / середнє... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Улюблені та швидко вставлені формули, Діапазони, діаграми та зображення; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Групування зведеної таблиці за номер тижня, день тижня та багато іншого ... Показати розблоковані, заблоковані клітини за різними кольорами; Виділіть клітини, які мають формулу / назву...
вкладка kte 201905
  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці

 

Коментарі (22)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Excel аварійно завершує роботу, якщо в опорній комірці немає клапана!
Цей коментар був мінімізований модератором на сайті
Привіт, користуваче,
Дякуємо за коментар, код у цій статті оновлено, спробуйте ще раз, дякую!
Цей коментар був мінімізований модератором на сайті
Шановні панове,

Добрий день,

Я перевірив вищевказану формулу, що вона не працює в дефісі мінус значення, наприклад -100 -10,000 100 або (10,000) (XNUMX XNUMX)

Пане, я використовую код нижче протягом останніх 1 року, і сьогодні я виявив ту саму помилку.

Коли я пишу мінус -10,000 10,000 або (XNUMX XNUMX), це показує "Всього сто десять тисяч"
Коли я пишу позитивні 10,000 XNUMX, це чудово працює "Всього десять тисяч"

Приклад нижче:

(10,000.99 99) Лише сто десять тисяч і 100/XNUMX ріалів
10,000.99 99 Лише десять тисяч і 100/XNUMX ріалів
(10,000,000.99 99 100) Лише сто десять мільйонів і XNUMX/XNUMX ріалів
10,000,000.99 99 100 лише десять мільйонів і XNUMX/XNUMX ріалів
(10,000,000,000.99 99 100 XNUMX) Лише сто десять мільярдів і XNUMX/XNUMX ріалів
10,000,000,000.99 99 100 XNUMX лише десять мільярдів і XNUMX/XNUMX ріалів
(10,000,000,000,000.90 90 100 XNUMX XNUMX) Лише сто десять трильйонів і XNUMX/XNUMX ріалів
10,000,000,000,000.90 90 100 XNUMX XNUMX Лише десять трильйонів і XNUMX/XNUMX ріалів

Формула = правопис

МІЙ КОД VBA:

'Основна функція
Функція SpellBilling(ByVal MyNumber)
Дим Ріали, Халалас, Темп
Тьмяний десятковий знак, лічильник
ReDim Place(9) як рядок
Місце (2) = "Тисяча"
Місце (3) = "Мільйон"
Місце (4) = "Мільярд"
Місце (5) = "Трильйон"
' Рядкове представлення суми.
Мій номер = Обрізати (Str(MyNumber))
' Позиція десяткового знака 0, якщо немає.
DecimalPlace = InStr(MyNumber, ".")
' Перетворіть Halalas і встановіть для MyNumber суму в ріалах.
Якщо DecimalPlace > 0 Тоді
Halalas = GetTens(Left(Середня(MyNumber, DecimalPlace + 1) & _
"00", 2))
Мій номер = Обрізати(Лівий(МійНомер, Десяткове місце - 1))
End If
Кількість = 1
Робити, поки мій номер <> ""
Temp = GetHundreds(Right(MyNumber, 3))
Якщо Temp <> "" Тоді ріали = Temp & Place(Count) & Riyals
Якщо Len(MyNumber) > 3 Тоді
Мій номер = Ліворуч(МійНомер, Лен(МійНомер) - 3)
Ще
Мій номер = ""
End If
Рахунок = Рахунок + 1
Петля
Виберіть Case Riyals
Випадок ""
Riyals = "Без ріалів"
Кейс "Один"
Riyals = "Тільки один ріал"
Інший випадок
Riyals = "Тільки" & Riyals
Рияли = Риали & ""
End Select
Виберіть Case Halalas
Випадок ""
Halalas = "& 00/00 ріалів"
Кейс "Один"
Halalas = "& 01/100 ріалів"
Справа «Два»
Halalas = "& 02/100 ріалів"
Справа «Три»
Halalas = "& 03/100 ріалів"
Справа «Чотири»
Halalas = "& 04/100 ріалів"
Справа "п'ять"
Halalas = "& 05/100 ріалів"
Справа «Шість»
Halalas = "& 06/100 ріалів"
Справа "Сім"
Halalas = "& 07/100 ріалів"
Справа «Вісім»
Halalas = "& 08/100 ріалів"
Справа "Дев'ять"
Halalas = "& 09/100 ріалів"
Справа «Десять»
Halalas = "& 10/100 ріалів"
Кейс "Одинадцять"
Halalas = "& 11/100 ріалів"
Справа «Дванадцять»
Halalas = "& 12/100 ріалів"
Справа «Тринадцять»
Halalas = "& 13/100 ріалів"
Справа «Чотирнадцять»
Halalas = "& 14/100 ріалів"
Справа "П'ятнадцять"
Halalas = "& 15/100 ріалів"
Справа «Шістнадцять»
Halalas = "& 16/100 ріалів"
Справа «Сімнадцять»
Halalas = "& 17/100 ріалів"
Справа «Вісімнадцять»
Halalas = "& 18/100 ріалів"
Справа "Дев'ятнадцять"
Halalas = "& 19/100 ріалів"
Справа «Двадцятка»
Halalas = "& 20/100 ріалів"
Справа «двадцять один»
Halalas = "& 21/100 ріалів"
Справа «двадцять два»
Halalas = "& 22/100 ріалів"
Справа «двадцять три»
Halalas = "& 23/100 ріалів"
Справа «двадцять чотири»
Halalas = "& 24/100 ріалів"
Справа "Двадцять п'ять"
Halalas = "& 25/100 ріалів"
Справа «Двадцять шість»
Halalas = "& 26/100 ріалів"
Справа «Двадцять сім»
Halalas = "& 27/100 ріалів"
Справа «Двадцять вісім»
Halalas = "& 28/100 ріалів"
Справа "Двадцять дев'ять"
Halalas = "& 29/100 ріалів"
Справа «Тридцять»
Halalas = "& 30/100 ріалів"
Справа «Тридцять один»
Halalas = "& 31/100 ріалів"
Справа «Тридцять два»
Halalas = "& 32/100 ріалів"
Справа «Тридцять три»
Halalas = "& 33/100 ріалів"
Справа «Тридцять чотири»
Halalas = "& 34/100 ріалів"
Справа "Тридцять п'ять"
Halalas = "& 35/100 ріалів"
Справа «Тридцять шість»
Halalas = "& 36/100 ріалів"
Справа «Тридцять сім»
Halalas = "& 37/100 ріалів"
Справа «Тридцять вісім»
Halalas = "& 38/100 ріалів"
Справа "Тридцять дев'ять"
Halalas = "& 39/100 ріалів"
Справа «Сорок»
Halalas = "& 40/100 ріалів"
Справа «Сорок один»
Halalas = "& 41/100 ріалів"
Справа «Сорок два»
Halalas = "& 42/100 ріалів"
Справа «Сорок три»
Halalas = "& 43/100 ріалів"
Справа «Сорок чотири»
Halalas = "& 44/100 ріалів"
Справа "Сорок п'ять"
Halalas = "& 45/100 ріалів"
Справа «сорок шість»
Halalas = "& 46/100 ріалів"
Справа «Сорок сім»
Halalas = "& 47/100 ріалів"
Справа «Сорок вісім»
Halalas = "& 48/100 ріалів"
Справа "Сорок дев'ять"
Halalas = "& 49/100 ріалів"
Кейс "П'ятдесят"
Halalas = "& 50/100 ріалів"
Кейс "П'ятдесят один"
Halalas = "& 51/100 ріалів"
Справа «П'ятдесят два»
Halalas = "& 52/100 ріалів"
Справа "П'ятдесят три"
Halalas = "& 53/100 ріалів"
Справа "П'ятдесят чотири"
Halalas = "& 54/100 ріалів"
Кейс "П'ятдесят п'ять"
Halalas = "& 55/100 ріалів"
Справа «п'ятдесят шість»
Halalas = "& 56/100 ріалів"
Справа "П'ятдесят сім"
Halalas = "& 57/100 ріалів"
Справа «П'ятдесят вісім»
Halalas = "& 58/100 ріалів"
Кейс "П'ятдесят дев'ять"
Halalas = "& 59/100 ріалів"
Кейс "шістдесят"
Halalas = "& 60/100 ріалів"
Справа «шістдесят один»
Halalas = "& 61/100 ріалів"
Справа «шістдесят два»
Halalas = "& 62/100 ріалів"
Справа «шістдесят три»
Halalas = "& 63/100 ріалів"
Справа «шістдесят чотири»
Halalas = "& 64/100 ріалів"
Справа "шістдесят п'ять"
Halalas = "& 65/100 ріалів"
Справа «шістдесят шість»
Halalas = "& 66/100 ріалів"
Справа «Шістдесят сім»
Halalas = "& 67/100 ріалів"
Справа «Шістдесят вісім»
Halalas = "& 68/100 ріалів"
Справа "Шістдесят дев'ять"
Halalas = "& 69/100 ріалів"
Справа «Сімдесят»
Halalas = "& 70/100 ріалів"
Справа «Сімдесят один»
Halalas = "& 71/100 ріалів"
Справа «Сімдесят два»
Halalas = "& 72/100 ріалів"
Справа «Сімдесят три»
Halalas = "& 73/100 ріалів"
Справа «Сімдесят чотири»
Halalas = "& 74/100 ріалів"
Справа "Сімдесят п'ять"
Halalas = "& 75/100 ріалів"
Справа «Сімдесят шість»
Halalas = "& 76/100 ріалів"
Справа «Сімдесят сім»
Halalas = "& 77/100 ріалів"
Справа «Сімдесят вісім»
Halalas = "& 78/100 ріалів"
Справа "Сімдесят дев'ять"
Halalas = "& 79/100 ріалів"
Кейс "Вісімдесят"
Halalas = "& 80/100 ріалів"
Кейс "Вісімдесят один"
Halalas = "& 81/100 ріалів"
Справа «Вісімдесят два»
Halalas = "& 82/100 ріалів"
Справа «Вісімдесят три»
Halalas = "& 83/100 ріалів"
Справа «Вісімдесят чотири»
Halalas = "& 84/100 ріалів"
Справа "Вісімдесят п'ять"
Halalas = "& 85/100 ріалів"
Справа «Вісімдесят шість»
Halalas = "& 86/100 ріалів"
Справа «Вісімдесят сім»
Halalas = "& 87/100 ріалів"
Справа «Вісімдесят вісім»
Halalas = "& 88/100 ріалів"
Справа "Вісімдесят дев'ять"
Halalas = "& 89/100 ріалів"
Справа "Дев'яносто"
Halalas = "& 90/100 ріалів"
Справа "Дев'яносто один"
Halalas = "& 91/100 ріалів"
Справа "Дев'яносто два"
Halalas = "& 92/100 ріалів"
Справа "Дев'яносто три"
Halalas = "& 93/100 ріалів"
Справа "Дев'яносто чотири"
Halalas = "& 94/100 ріалів"
Справа "Дев'яносто п'ять"
Halalas = "& 95/100 ріалів"
Справа "Дев'яносто шість"
Halalas = "& 96/100 ріалів"
Справа "Дев'яносто сім"
Halalas = "& 97/100 ріалів"
Справа "Дев'яносто вісім"
Halalas = "& 98/100 ріалів"
Справа "Дев'яносто дев'ять"
Halalas = "& 99/100 ріалів"


Інший випадок
Halalas = " & " & Halalas & " Halalas "
End Select
SpellBilling = Рияли та Халали
End Function


' Перетворює число від 100 до 999 в текст
Функція GetHundreds(ByVal MyNumber)
Результат затемнення як рядок
Якщо Val(MyNumber) = 0, то вийти з функції
MyNumber = Right("000" & MyNumber, 3)
' Перетворіть сотні місць.
Якщо Mid(MyNumber, 1, 1) <> "0", Тоді
Результат = GetDigit(Mid(MyNumber, 1, 1)) & "Сто"
End If
' Перетворіть місця десятків і одиниць.
Якщо Mid(MyNumber, 2, 1) <> "0", Тоді
Результат = Результат і GetTens (Середня (Моє число, 2))
Ще
Результат = Результат і Отримати цифру (середина (Мій номер, 3))
End If
GetHundreds = Результат
End Function

' Перетворює число від 10 до 99 в текст.
Функція GetTens(TensText)
Результат затемнення як рядок
Результат = "" ' Обнуляє тимчасове значення функції.
Якщо Val(Left(TensText, 1)) = 1, то ' Якщо значення між 10-19...
Виберіть регістр Val(TensText)
Випадок 10: Результат = "Десять"
Випадок 11: Результат = "Одинадцять"
Випадок 12: Результат = "Дванадцять"
Випадок 13: Результат = "Тринадцять"
Випадок 14: Результат = "Чотирнадцять"
Випадок 15: Результат = "П'ятнадцять"
Випадок 16: Результат = "Шістнадцять"
Випадок 17: Результат = "Сімнадцять"
Випадок 18: Результат = "Вісімнадцять"
Випадок 19: Результат = "Дев'ятнадцять"
Інший випадок
End Select
Інакше ' Якщо значення між 20-99...
Виберіть значення регістру (ліворуч(TensText, 1))
Випадок 2: Результат = "Двадцять"
Випадок 3: Результат = "Тридцять"
Випадок 4: Результат = "Сорок"
Випадок 5: Результат = "П'ятдесят"
Випадок 6: Результат = "Шістдесят"
Випадок 7: Результат = "Сімдесят"
Випадок 8: Результат = "Вісімдесят"
Випадок 9: Результат = "Дев'яносто"
Інший випадок
End Select
Результат = Результат і GetDigit _
(Праворуч (TensText, 1)) ' Отримати місце.
End If
GetTens = Результат
End Function

' Перетворює число від 1 до 9 в текст.
Функція GetDigit(Digit)
Виберіть регістр Val (цифра)
Випадок 1: GetDigit = "Один"
Випадок 2: GetDigit = "Два"
Випадок 3: GetDigit = "Три"
Випадок 4: GetDigit = "Чотири"
Випадок 5: GetDigit = "П'ять"
Випадок 6: GetDigit = "Шість"
Випадок 7: GetDigit = "Сім"
Випадок 8: GetDigit = "Вісім"
Випадок 9: GetDigit = "Дев'ять"
Інший регістр: GetDigit = ""
End Select
End Function
Цей коментар був мінімізований модератором на сайті
Нічого сказати! Надзвичайно супер
Цей коментар був мінімізований модератором на сайті
Шановні панове,

Добрий день,
Я перевірив ваш код VBA, але, на жаль, він погано працює на негативних / мінусових значеннях, таких як -100 -10,000 100 / (10,000) (XNUMX XNUMX).

Сер, я використовую код нижче протягом останніх 1 року, і сьогодні я виявив ту саму помилку, яка також є у вашому коді VBA.

Коли я пишу мінус -10,000 XNUMX, це відображається на "Лише сто десять тисяч"
Коли я пишу позитивні 10,000 XNUMX, це відображається на "Тільки десять тисяч" працює нормально

Приклад нижче:

(10,000.99 99) Лише сто десять тисяч і 100/XNUMX ріалів
10,000.99 99 Лише десять тисяч і 100/XNUMX ріалів
(10,000,000.99 99 100) Лише сто десять мільйонів і XNUMX/XNUMX ріалів
10,000,000.99 99 100 лише десять мільйонів і XNUMX/XNUMX ріалів
(10,000,000,000.99 99 100 XNUMX) Лише сто десять мільярдів і XNUMX/XNUMX ріалів
10,000,000,000.99 99 100 XNUMX лише десять мільярдів і XNUMX/XNUMX ріалів
(10,000,000,000,000.90 90 100 XNUMX XNUMX) Лише сто десять трильйонів і XNUMX/XNUMX ріалів
10,000,000,000,000.90 90 100 XNUMX XNUMX Лише десять трильйонів і XNUMX/XNUMX ріалів

Формула = правопис

МІЙ КОД VBA:

'Основна функція
Функція SpellBilling(ByVal MyNumber)
Дим Ріали, Халалас, Темп
Тьмяний десятковий знак, лічильник
ReDim Place(9) як рядок
Місце (2) = "Тисяча"
Місце (3) = "Мільйон"
Місце (4) = "Мільярд"
Місце (5) = "Трильйон"
' Рядкове представлення суми.
Мій номер = Обрізати (Str(MyNumber))
' Позиція десяткового знака 0, якщо немає.
DecimalPlace = InStr(MyNumber, ".")
' Перетворіть Halalas і встановіть для MyNumber суму в ріалах.
Якщо DecimalPlace > 0 Тоді
Halalas = GetTens(Left(Середня(MyNumber, DecimalPlace + 1) & _
"00", 2))
Мій номер = Обрізати(Лівий(МійНомер, Десяткове місце - 1))
End If
Кількість = 1
Робити, поки мій номер <> ""
Temp = GetHundreds(Right(MyNumber, 3))
Якщо Temp <> "" Тоді ріали = Temp & Place(Count) & Riyals
Якщо Len(MyNumber) > 3 Тоді
Мій номер = Ліворуч(МійНомер, Лен(МійНомер) - 3)
Ще
Мій номер = ""
End If
Рахунок = Рахунок + 1
Петля
Виберіть Case Riyals
Випадок ""
Riyals = "Без ріалів"
Кейс "Один"
Riyals = "Тільки один ріал"
Інший випадок
Riyals = "Тільки" & Riyals
Рияли = Риали & ""
End Select
Виберіть Case Halalas
Випадок ""
Halalas = "& 00/00 ріалів"
Кейс "Один"
Halalas = "& 01/100 ріалів"
Справа «Два»
Halalas = "& 02/100 ріалів"
Справа «Три»
Halalas = "& 03/100 ріалів"
Справа «Чотири»
Halalas = "& 04/100 ріалів"
Справа "п'ять"
Halalas = "& 05/100 ріалів"
Справа «Шість»
Halalas = "& 06/100 ріалів"
Справа "Сім"
Halalas = "& 07/100 ріалів"
Справа «Вісім»
Halalas = "& 08/100 ріалів"
Справа "Дев'ять"
Halalas = "& 09/100 ріалів"
Справа «Десять»
Halalas = "& 10/100 ріалів"
Кейс "Одинадцять"
Halalas = "& 11/100 ріалів"
Справа «Дванадцять»
Halalas = "& 12/100 ріалів"
Справа «Тринадцять»
Halalas = "& 13/100 ріалів"
Справа «Чотирнадцять»
Halalas = "& 14/100 ріалів"
Справа "П'ятнадцять"
Halalas = "& 15/100 ріалів"
Справа «Шістнадцять»
Halalas = "& 16/100 ріалів"
Справа «Сімнадцять»
Halalas = "& 17/100 ріалів"
Справа «Вісімнадцять»
Halalas = "& 18/100 ріалів"
Справа "Дев'ятнадцять"
Halalas = "& 19/100 ріалів"
Справа «Двадцятка»
Halalas = "& 20/100 ріалів"
Справа «двадцять один»
Halalas = "& 21/100 ріалів"
Справа «двадцять два»
Halalas = "& 22/100 ріалів"
Справа «двадцять три»
Halalas = "& 23/100 ріалів"
Справа «двадцять чотири»
Halalas = "& 24/100 ріалів"
Справа "Двадцять п'ять"
Halalas = "& 25/100 ріалів"
Справа «Двадцять шість»
Halalas = "& 26/100 ріалів"
Справа «Двадцять сім»
Halalas = "& 27/100 ріалів"
Справа «Двадцять вісім»
Halalas = "& 28/100 ріалів"
Справа "Двадцять дев'ять"
Halalas = "& 29/100 ріалів"
Справа «Тридцять»
Halalas = "& 30/100 ріалів"
Справа «Тридцять один»
Halalas = "& 31/100 ріалів"
Справа «Тридцять два»
Halalas = "& 32/100 ріалів"
Справа «Тридцять три»
Halalas = "& 33/100 ріалів"
Справа «Тридцять чотири»
Halalas = "& 34/100 ріалів"
Справа "Тридцять п'ять"
Halalas = "& 35/100 ріалів"
Справа «Тридцять шість»
Halalas = "& 36/100 ріалів"
Справа «Тридцять сім»
Halalas = "& 37/100 ріалів"
Справа «Тридцять вісім»
Halalas = "& 38/100 ріалів"
Справа "Тридцять дев'ять"
Halalas = "& 39/100 ріалів"
Справа «Сорок»
Halalas = "& 40/100 ріалів"
Справа «Сорок один»
Halalas = "& 41/100 ріалів"
Справа «Сорок два»
Halalas = "& 42/100 ріалів"
Справа «Сорок три»
Halalas = "& 43/100 ріалів"
Справа «Сорок чотири»
Halalas = "& 44/100 ріалів"
Справа "Сорок п'ять"
Halalas = "& 45/100 ріалів"
Справа «сорок шість»
Halalas = "& 46/100 ріалів"
Справа «Сорок сім»
Halalas = "& 47/100 ріалів"
Справа «Сорок вісім»
Halalas = "& 48/100 ріалів"
Справа "Сорок дев'ять"
Halalas = "& 49/100 ріалів"
Кейс "П'ятдесят"
Halalas = "& 50/100 ріалів"
Кейс "П'ятдесят один"
Halalas = "& 51/100 ріалів"
Справа «П'ятдесят два»
Halalas = "& 52/100 ріалів"
Справа "П'ятдесят три"
Halalas = "& 53/100 ріалів"
Справа "П'ятдесят чотири"
Halalas = "& 54/100 ріалів"
Кейс "П'ятдесят п'ять"
Halalas = "& 55/100 ріалів"
Справа «п'ятдесят шість»
Halalas = "& 56/100 ріалів"
Справа "П'ятдесят сім"
Halalas = "& 57/100 ріалів"
Справа «П'ятдесят вісім»
Halalas = "& 58/100 ріалів"
Кейс "П'ятдесят дев'ять"
Halalas = "& 59/100 ріалів"
Кейс "шістдесят"
Halalas = "& 60/100 ріалів"
Справа «шістдесят один»
Halalas = "& 61/100 ріалів"
Справа «шістдесят два»
Halalas = "& 62/100 ріалів"
Справа «шістдесят три»
Halalas = "& 63/100 ріалів"
Справа «шістдесят чотири»
Halalas = "& 64/100 ріалів"
Справа "шістдесят п'ять"
Halalas = "& 65/100 ріалів"
Справа «шістдесят шість»
Halalas = "& 66/100 ріалів"
Справа «Шістдесят сім»
Halalas = "& 67/100 ріалів"
Справа «Шістдесят вісім»
Halalas = "& 68/100 ріалів"
Справа "Шістдесят дев'ять"
Halalas = "& 69/100 ріалів"
Справа «Сімдесят»
Halalas = "& 70/100 ріалів"
Справа «Сімдесят один»
Halalas = "& 71/100 ріалів"
Справа «Сімдесят два»
Halalas = "& 72/100 ріалів"
Справа «Сімдесят три»
Halalas = "& 73/100 ріалів"
Справа «Сімдесят чотири»
Halalas = "& 74/100 ріалів"
Справа "Сімдесят п'ять"
Halalas = "& 75/100 ріалів"
Справа «Сімдесят шість»
Halalas = "& 76/100 ріалів"
Справа «Сімдесят сім»
Halalas = "& 77/100 ріалів"
Справа «Сімдесят вісім»
Halalas = "& 78/100 ріалів"
Справа "Сімдесят дев'ять"
Halalas = "& 79/100 ріалів"
Кейс "Вісімдесят"
Halalas = "& 80/100 ріалів"
Кейс "Вісімдесят один"
Halalas = "& 81/100 ріалів"
Справа «Вісімдесят два»
Halalas = "& 82/100 ріалів"
Справа «Вісімдесят три»
Halalas = "& 83/100 ріалів"
Справа «Вісімдесят чотири»
Halalas = "& 84/100 ріалів"
Справа "Вісімдесят п'ять"
Halalas = "& 85/100 ріалів"
Справа «Вісімдесят шість»
Halalas = "& 86/100 ріалів"
Справа «Вісімдесят сім»
Halalas = "& 87/100 ріалів"
Справа «Вісімдесят вісім»
Halalas = "& 88/100 ріалів"
Справа "Вісімдесят дев'ять"
Halalas = "& 89/100 ріалів"
Справа "Дев'яносто"
Halalas = "& 90/100 ріалів"
Справа "Дев'яносто один"
Halalas = "& 91/100 ріалів"
Справа "Дев'яносто два"
Halalas = "& 92/100 ріалів"
Справа "Дев'яносто три"
Halalas = "& 93/100 ріалів"
Справа "Дев'яносто чотири"
Halalas = "& 94/100 ріалів"
Справа "Дев'яносто п'ять"
Halalas = "& 95/100 ріалів"
Справа "Дев'яносто шість"
Halalas = "& 96/100 ріалів"
Справа "Дев'яносто сім"
Halalas = "& 97/100 ріалів"
Справа "Дев'яносто вісім"
Halalas = "& 98/100 ріалів"
Справа "Дев'яносто дев'ять"
Halalas = "& 99/100 ріалів"


Інший випадок
Halalas = " & " & Halalas & " Halalas "
End Select
SpellBilling = Рияли та Халали
End Function


' Перетворює число від 100 до 999 в текст
Функція GetHundreds(ByVal MyNumber)
Результат затемнення як рядок
Якщо Val(MyNumber) = 0, то вийти з функції
MyNumber = Right("000" & MyNumber, 3)
' Перетворіть сотні місць.
Якщо Mid(MyNumber, 1, 1) <> "0", Тоді
Результат = GetDigit(Mid(MyNumber, 1, 1)) & "Сто"
End If
' Перетворіть місця десятків і одиниць.
Якщо Mid(MyNumber, 2, 1) <> "0", Тоді
Результат = Результат і GetTens (Середня (Моє число, 2))
Ще
Результат = Результат і Отримати цифру (середина (Мій номер, 3))
End If
GetHundreds = Результат
End Function

' Перетворює число від 10 до 99 в текст.
Функція GetTens(TensText)
Результат затемнення як рядок
Результат = "" ' Обнуляє тимчасове значення функції.
Якщо Val(Left(TensText, 1)) = 1, то ' Якщо значення між 10-19...
Виберіть регістр Val(TensText)
Випадок 10: Результат = "Десять"
Випадок 11: Результат = "Одинадцять"
Випадок 12: Результат = "Дванадцять"
Випадок 13: Результат = "Тринадцять"
Випадок 14: Результат = "Чотирнадцять"
Випадок 15: Результат = "П'ятнадцять"
Випадок 16: Результат = "Шістнадцять"
Випадок 17: Результат = "Сімнадцять"
Випадок 18: Результат = "Вісімнадцять"
Випадок 19: Результат = "Дев'ятнадцять"
Інший випадок
End Select
Інакше ' Якщо значення між 20-99...
Виберіть значення регістру (ліворуч(TensText, 1))
Випадок 2: Результат = "Двадцять"
Випадок 3: Результат = "Тридцять"
Випадок 4: Результат = "Сорок"
Випадок 5: Результат = "П'ятдесят"
Випадок 6: Результат = "Шістдесят"
Випадок 7: Результат = "Сімдесят"
Випадок 8: Результат = "Вісімдесят"
Випадок 9: Результат = "Дев'яносто"
Інший випадок
End Select
Результат = Результат і GetDigit _
(Праворуч (TensText, 1)) ' Отримати місце.
End If
GetTens = Результат
End Function

' Перетворює число від 1 до 9 в текст.
Функція GetDigit(Digit)
Виберіть регістр Val (цифра)
Випадок 1: GetDigit = "Один"
Випадок 2: GetDigit = "Два"
Випадок 3: GetDigit = "Три"
Випадок 4: GetDigit = "Чотири"
Випадок 5: GetDigit = "П'ять"
Випадок 6: GetDigit = "Шість"
Випадок 7: GetDigit = "Сім"
Випадок 8: GetDigit = "Вісім"
Випадок 9: GetDigit = "Дев'ять"
Інший регістр: GetDigit = ""
End Select
End Function
Цей коментар був мінімізований модератором на сайті
Мені потрібно застосувати весь робочий зошит Excel. Як застосувати це кодування до всієї книги Excel.
Цей коментар був мінімізований модератором на сайті
рупій чотирнадцять тисяч вісімсот сімдесят п'ять Лише в останню суму має бути слово іприклад
Лише чотирнадцять тисяч вісімсот сімдесят п’ять рупій
Цей коментар був мінімізований модератором на сайті
не можу читати більше 10 крор.
Цей коментар був мінімізований модератором на сайті
One Lac Sixty Nine Thousand Eighty One and Forty Two Paise – не конвертовано належним чином. Також не конвертовано наведену вище цифру, коли вона заокруглюється.
Цей коментар був мінімізований модератором на сайті
ДЯКУЮ ЗА КОД...
Цей коментар був мінімізований модератором на сайті
Дякую за кодування. Я подав заявку та працює. Але це стосується лише цієї конкретної робочої книги. Мені потрібно застосувати всю книгу Excel. Як застосувати це кодування до всієї книги Excel.
Цей коментар був мінімізований модератором на сайті
Привіт, SivaG
Так, цей код є функцією, визначеною користувачем, вам слід застосувати формулу до файлів по одному. Якщо вам потрібен код для застосування до кількох книг, його буде застосовано до всіх чисел, тому всі числа буде змінено. І код не підтримує скасування, є певні ризики для безпеки. Не рекомендується цього робити. Дякую!
Цей коментар був мінімізований модератором на сайті
Як можна прибрати слово "Рупії"? Зазвичай листочки чека вже мають слово «Рупії».
Цей коментар був мінімізований модератором на сайті
Привіт, Сакарія
Щоб вирішити проблему, застосуйте наведений нижче код:
Public Function RupeeFormat(SNum As String)
'Updateby Extendoffice
Dim xDPInt As Integer
Dim xArrPlace As Variant
Dim xRStr_Paisas As String
Dim xNumStr As String
Dim xF As Integer
Dim xTemp As String
Dim xStrTemp As String
Dim xRStr As String
Dim xLp As Integer
xArrPlace = Array("", "", " Thousand ", " Lacs ", " Crores ", " Trillion ", "", "", "", "")
On Error Resume Next
If SNum = "" Then
  RupeeFormat = ""
  Exit Function
End If
xNumStr = Trim(Str(SNum))
If xNumStr = "" Then
  RupeeFormat = ""
  Exit Function
End If

xRStr = ""
xLp = 0
If (xNumStr > 999999999.99) Then
    RupeeFormat = "Digit excced Maximum limit"
    Exit Function
End If
xDPInt = InStr(xNumStr, ".")
If xDPInt > 0 Then
    If (Len(xNumStr) - xDPInt) = 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1) & "0", 2))
    ElseIf (Len(xNumStr) - xDPInt) > 1 Then
       xRStr_Paisas = RupeeFormat_GetT(Left(Mid(xNumStr, xDPInt + 1), 2))
    End If
        xNumStr = Trim(Left(xNumStr, xDPInt - 1))
    End If
    xF = 1
    Do While xNumStr <> ""
        If (xF >= 2) Then
            xTemp = Right(xNumStr, 2)
        Else
            If (Len(xNumStr) = 2) Then
                xTemp = Right(xNumStr, 2)
            ElseIf (Len(xNumStr) = 1) Then
                xTemp = Right(xNumStr, 1)
            Else
                xTemp = Right(xNumStr, 3)
            End If
        End If
        xStrTemp = ""
        If Val(xTemp) > 99 Then
            xStrTemp = RupeeFormat_GetH(Right(xTemp, 3), xLp)
            If Right(Trim(xStrTemp), 3) <> "Lac" Then
            xLp = xLp + 1
            End If
        ElseIf Val(xTemp) <= 99 And Val(xTemp) > 9 Then
            xStrTemp = RupeeFormat_GetT(Right(xTemp, 2))
        ElseIf Val(xTemp) < 10 Then
            xStrTemp = RupeeFormat_GetD(Right(xTemp, 2))
        End If
        If xStrTemp <> "" Then
            xRStr = xStrTemp & xArrPlace(xF) & xRStr
        End If
        If xF = 2 Then
            If Len(xNumStr) = 1 Then
                xNumStr = ""
            Else
                xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            End If
       ElseIf xF = 3 Then
            If Len(xNumStr) >= 3 Then
                 xNumStr = Left(xNumStr, Len(xNumStr) - 2)
            Else
                xNumStr = ""
            End If
        ElseIf xF = 4 Then
          xNumStr = ""
    Else
        If Len(xNumStr) <= 2 Then
        xNumStr = ""
    Else
        xNumStr = Left(xNumStr, Len(xNumStr) - 3)
        End If
    End If
        xF = xF + 1
Loop
    If xRStr = "" Then
       xRStr = "No Rupees"
    Else
       xRStr = xRStr
    End If
    If xRStr_Paisas <> "" Then
       xRStr_Paisas = " and " & xRStr_Paisas & " Paisas"
    End If
    RupeeFormat = xRStr & xRStr_Paisas & " Only"
    End Function
Function RupeeFormat_GetH(xStrH As String, xLp As Integer)
Dim xRStr As String
If Val(xStrH) < 1 Then
    RupeeFormat_GetH = ""
    Exit Function
Else
   xStrH = Right("000" & xStrH, 3)
   If Mid(xStrH, 1, 1) <> "0" Then
        If (xLp > 0) Then
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Lac "
        Else
         xRStr = RupeeFormat_GetD(Mid(xStrH, 1, 1)) & " Hundred "
        End If
    End If
    If Mid(xStrH, 2, 1) <> "0" Then
        xRStr = xRStr & RupeeFormat_GetT(Mid(xStrH, 2))
    Else
        xRStr = xRStr & RupeeFormat_GetD(Mid(xStrH, 3))
    End If
End If
    RupeeFormat_GetH = xRStr
End Function
Function RupeeFormat_GetT(xTStr As String)
    Dim xTArr1 As Variant
    Dim xTArr2 As Variant
    Dim xRStr As String
    xTArr1 = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    xTArr2 = Array("", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Result = ""
    If Val(Left(xTStr, 1)) = 1 Then
        xRStr = xTArr1(Val(Mid(xTStr, 2, 1)))
    Else
        If Val(Left(xTStr, 1)) > 0 Then
            xRStr = xTArr2(Val(Left(xTStr, 1)) - 1)
        End If
        xRStr = xRStr & RupeeFormat_GetD(Right(xTStr, 1))
    End If
      RupeeFormat_GetT = xRStr
End Function
Function RupeeFormat_GetD(xDStr As String)
Dim xArr_1() As Variant
    xArr_1 = Array(" One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", "")
    If Val(xDStr) > 0 Then
        RupeeFormat_GetD = xArr_1(Val(xDStr) - 1)
    Else
        RupeeFormat_GetD = ""
    End If
End Function



Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Цей коментар був мінімізований модератором на сайті
Дуже дякую... 🙂
Цей коментар був мінімізований модератором на сайті
Але це стосується лише одного Excel. Якщо я введу цю формулу в інший Excel, це не працює
яке рішення для цього
будь ласка, поверніться
Цей коментар був мінімізований модератором на сайті
Здравствуйте,

Якщо у вас кілька робочих книг, вам потрібно скопіювати код до кількох робочих книг.
Якщо ви скопіюєте його лише в одну книгу, він не працюватиме в інших книгах. 😀
Будь ласка, спробуйте, дякую!
Цей коментар був мінімізований модератором на сайті
Дуже дякую, це дуже корисно
Цей коментар був мінімізований модератором на сайті
Привіт, сер! Чи можна встановити це за замовчуванням для кожного робочого аркуша Excel чи ні?
Цей коментар був мінімізований модератором на сайті
Привіт, Мукеш

Так, якщо код скопійовано у віконний модуль vba, формулу можна застосувати до всієї книги.
Але закриваючи робочу книгу, ви повинні зберегти її як Книга Excel з підтримкою макросів формат файлу
Будь ласка, спробуйте, дякую!
Цей коментар був мінімізований модератором на сайті
Пробував кілька разів, не працює. Будь ласка, допоможіть
Цей коментар був мінімізований модератором на сайті
Гей, чудова допомога! Дякуємо за створення такого чудового коду.

Це заощадило багато часу. "Благослови вас Бог!!"
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL