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

Wie konvertiere ich Zahlen in Wörter in indischen Rupien in Excel?

In diesem Artikel werde ich vorstellen, wie eine Liste von Zahlen in Wörter in indischen Rupien oder englischen Dollar in Excel konvertiert wird.

Konvertieren Sie Zahlen in Wörter in indischen Rupien mit VBA-Code

Konvertieren Sie Zahlen in Wörter in englischem Dollar mit einer erstaunlichen Funktion


Konvertieren Sie Zahlen in Wörter in indischen Rupien mit VBA-Code

Der folgende VBA-Code kann Ihnen helfen, die Zahlen in Wörter in Rupien umzuwandeln. Gehen Sie dazu folgendermaßen vor:

1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Modulfenster ein.

VBA-Code: Konvertieren Sie Zahlen in Wörter in Rupien

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. Speichern und schließen Sie nach dem Einfügen des Codes das Codefenster, kehren Sie zum Arbeitsblatt zurück und geben Sie die folgende Formel ein: = RupieFormat (A2) in eine leere Zelle und ziehen Sie dann den Füllpunkt nach unten, um diese Formel auf andere Zellen anzuwenden. Alle Zahlen wurden in Rupien geschrieben, siehe Screenshot:


Konvertieren Sie Zahlen in Wörter in englischem Dollar mit einer erstaunlichen Funktion

Wenn Sie die Zahlen in Wörter in englischem Dollar umrechnen möchten, Kutools for Excel Zahlen zu Wörtern Mit dieser Funktion können Sie diesen Job schnell und einfach lösen.

Tipps:Um dies anzuwenden Nummer zu Wörtern Funktion sollten Sie zunächst die herunterladen Kutools for Excelund wenden Sie die Funktion dann schnell und einfach an.

Nach der Installation Kutools for ExcelBitte machen Sie Folgendes:

1. Wählen Sie die Liste der Zahlen aus, die Sie konvertieren möchten, und klicken Sie dann auf Kutoolen > Inhalt > Zahlen zu Wörtern, siehe Screenshots:

2. In dem Zahlen zu Währungswörtern Dialogfeld auswählen Englisch Option von der Sprachen Abschnitt, und klicken Sie dann Ok Schaltfläche, die Zahlen in der Auswahl wurden in die englischen Währungswörter konvertiert, siehe Screenshot:

Klicken Sie hier, um Kutools für Excel herunterzuladen und jetzt kostenlos zu testen!

 


  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen und Speichern von Daten; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen und Summe / Durchschnitt... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Lieblingsformeln und schnell einfügen, Bereiche, Diagramme und Bilder; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Pivot-Tabellengruppierung nach Wochennummer, Wochentag und mehr ... Entsperrte, gesperrte Zellen anzeigen durch verschiedene Farben; Markieren Sie Zellen mit Formel / Name...
kte tab 201905
  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten

 

Kommentare (21)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Excel stürzt ab, wenn die Referenzzelle kein Ventil hat!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Benutzer,
Vielen Dank für Ihren Kommentar, der Code in diesem Artikel wurde aktualisiert, bitte versuchen Sie es erneut, danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sehr geehrter Herr,

Guten Tag,

Ich habe die obige Formel getestet, sie funktioniert nicht in Bindestrichen minus Werten wie -100 -10,000 oder (100) (10,000)

Sir, ich verwende den folgenden Code seit 1 Jahren und habe heute denselben Fehler entdeckt.

Wenn ich minus -10,000 oder (10,000) schreibe, wird "Only Hundred Ten Thousand" angezeigt.
Wenn ich Positive 10,000 schreibe funktioniert es super "Only Ten Thousand"

Beispiel unten:

(10,000.99) Nur Hundert Zehntausend & 99/100 Riyal
10,000.99 Nur Zehntausend & 99/100 Riyal
(10,000,000.99) Nur Hundertzehn Millionen & 99/100 Riyal
10,000,000.99 Nur zehn Millionen & 99/100 Rial
(10,000,000,000.99) Nur Hundert Zehn Milliarden & 99/100 Riyal
10,000,000,000.99 Nur zehn Milliarden und 99/100 Riyal
(10,000,000,000,000.90) Nur Hundert Zehn Billionen & 90/100 Rial
10,000,000,000,000.90 Nur zehn Billionen & 90/100 Rial

Formel = Rechtschreibung

MEIN VBA-CODE:

'Hauptfunktion
Funktion SpellBilling(ByVal MyNumber)
Dim Rial, Halalas, Temp
Dim Dezimalstelle, Anzahl
ReDim Place(9) als String
Platz(2) = " Tausend "
Platz(3) = " Million "
Platz(4) = "Milliarde"
Platz(5) = "Billionen"
' Zeichenfolgedarstellung des Betrags.
MeineNummer = Trim(Str(MeineNummer))
' Position der Dezimalstelle 0 falls keine.
Dezimalstelle = InStr(MeineZahl, ".")
' Konvertieren Sie Halalas und setzen Sie MyNumber auf den Betrag in Riyal.
Wenn Dezimalstelle > 0 Dann
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1)) & _
"00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Anzahl = 1
Do While MyNumber <> ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Riyals = Temp & Place(Count) & Riyals
Wenn Len(MeineNummer) > 3 Dann
MeineNummer = Links(MeineNummer, Len(MeineNummer) - 3)
sonst
MeineNummer = ""
End If
Anzahl = Anzahl + 1
Loop
Wählen Sie Case-Riyal aus
Fall ""
Rial = "Kein Rial"
Fall "Eins"
Rial = "Nur ein Rial"
Case Else
Riyal = "Nur" & Riyal
Rial = Rial & ""
End Select
Wählen Sie Fall Halalas
Fall ""
Halalas = " & 00/00 Rial"
Fall "Eins"
Halalas = " & 01/100 Rial"
Fall "Zwei"
Halalas = " & 02/100 Rial"
Fall "Drei"
Halalas = " & 03/100 Rial"
Fall "Vier"
Halalas = " & 04/100 Rial"
Fall "Fünf"
Halalas = " & 05/100 Rial"
Fall "Sechs"
Halalas = " & 06/100 Rial"
Fall "Sieben"
Halalas = " & 07/100 Rial"
Fall "Acht"
Halalas = " & 08/100 Rial"
Fall "Neun"
Halalas = " & 09/100 Rial"
Fall "Zehn"
Halalas = " & 10/100 Rial"
Fall "Elf"
Halalas = " & 11/100 Rial"
Fall "Zwölf"
Halalas = " & 12/100 Rial"
Fall "Dreizehn"
Halalas = " & 13/100 Rial"
Fall "Vierzehn"
Halalas = " & 14/100 Rial"
Fall "Fünfzehn"
Halalas = " & 15/100 Rial"
Fall "Sechzehn"
Halalas = " & 16/100 Rial"
Fall "Siebzehn"
Halalas = " & 17/100 Rial"
Fall "Achtzehn"
Halalas = " & 18/100 Rial"
Fall "Neunzehn"
Halalas = " & 19/100 Rial"
Fall „Zwanzig“
Halalas = " & 20/100 Rial"
Fall "Einundzwanzig"
Halalas = " & 21/100 Rial"
Fall "Zweiundzwanzig"
Halalas = " & 22/100 Rial"
Fall "Dreiundzwanzig"
Halalas = " & 23/100 Rial"
Fall "Vierundzwanzig"
Halalas = " & 24/100 Rial"
Fall "Fünfundzwanzig"
Halalas = " & 25/100 Rial"
Fall "Sechsundzwanzig"
Halalas = " & 26/100 Rial"
Fall "Siebenundzwanzig"
Halalas = " & 27/100 Rial"
Fall "Achtundzwanzig"
Halalas = " & 28/100 Rial"
Fall "Neunundzwanzig"
Halalas = " & 29/100 Rial"
Fall „Dreißig“
Halalas = " & 30/100 Rial"
Fall "Einunddreißig"
Halalas = " & 31/100 Rial"
Fall "Zweiunddreißig"
Halalas = " & 32/100 Rial"
Fall „Dreiunddreißig“
Halalas = " & 33/100 Rial"
Fall "Vierunddreißig"
Halalas = " & 34/100 Rial"
Fall "Fünfunddreißig"
Halalas = " & 35/100 Rial"
Fall "Sechsunddreißig"
Halalas = " & 36/100 Rial"
Fall "Siebenunddreißig"
Halalas = " & 37/100 Rial"
Fall "Achtunddreißig"
Halalas = " & 38/100 Rial"
Fall "Neununddreißig"
Halalas = " & 39/100 Rial"
Fall „Vierzig“
Halalas = " & 40/100 Rial"
Fall „Einundvierzig“
Halalas = " & 41/100 Rial"
Fall "Zweiundvierzig"
Halalas = " & 42/100 Rial"
Fall "Dreiundvierzig"
Halalas = " & 43/100 Rial"
Fall "Vierundvierzig"
Halalas = " & 44/100 Rial"
Fall "Fünfundvierzig"
Halalas = " & 45/100 Rial"
Fall „Sechsundvierzig“
Halalas = " & 46/100 Rial"
Fall "Siebenundvierzig"
Halalas = " & 47/100 Rial"
Fall "Achtundvierzig"
Halalas = " & 48/100 Rial"
Fall "Neunundvierzig"
Halalas = " & 49/100 Rial"
Koffer "Fünfzig"
Halalas = " & 50/100 Rial"
Fall "Einundfünfzig"
Halalas = " & 51/100 Rial"
Fall "Zweiundfünfzig"
Halalas = " & 52/100 Rial"
Fall "Dreiundfünfzig"
Halalas = " & 53/100 Rial"
Fall "Vierundfünfzig"
Halalas = " & 54/100 Rial"
Fall "Fünfundfünfzig"
Halalas = " & 55/100 Rial"
Fall "Fifty Six"
Halalas = " & 56/100 Rial"
Fall "Siebenundfünfzig"
Halalas = " & 57/100 Rial"
Fall "Achtundfünfzig"
Halalas = " & 58/100 Rial"
Fall "Neunundfünfzig"
Halalas = " & 59/100 Rial"
Koffer "Sechzig"
Halalas = " & 60/100 Rial"
Fall "Einundsechzig"
Halalas = " & 61/100 Rial"
Fall "Zweiundsechzig"
Halalas = " & 62/100 Rial"
Fall "Dreiundsechzig"
Halalas = " & 63/100 Rial"
Fall "Vierundsechzig"
Halalas = " & 64/100 Rial"
Fall "Fünfundsechzig"
Halalas = " & 65/100 Rial"
Fall "Sechsundsechzig"
Halalas = " & 66/100 Rial"
Fall "Siebenundsechzig"
Halalas = " & 67/100 Rial"
Fall "Achtundsechzig"
Halalas = " & 68/100 Rial"
Fall "Neunundsechzig"
Halalas = " & 69/100 Rial"
Fall „Siebzig“
Halalas = " & 70/100 Rial"
Fall „Einundsiebzig“
Halalas = " & 71/100 Rial"
Fall "Zweiundsiebzig"
Halalas = " & 72/100 Rial"
Fall „Dreiundsiebzig“
Halalas = " & 73/100 Rial"
Fall "Vierundsiebzig"
Halalas = " & 74/100 Rial"
Fall "Fünfundsiebzig"
Halalas = " & 75/100 Rial"
Fall „Sechsundsiebzig“
Halalas = " & 76/100 Rial"
Fall "Siebenundsiebzig"
Halalas = " & 77/100 Rial"
Fall "Achtundsiebzig"
Halalas = " & 78/100 Rial"
Fall "Neunundsiebzig"
Halalas = " & 79/100 Rial"
Fall „Achtzig“
Halalas = " & 80/100 Rial"
Fall "Einundachtzig"
Halalas = " & 81/100 Rial"
Fall "Zweiundachtzig"
Halalas = " & 82/100 Rial"
Fall "Dreiundachtzig"
Halalas = " & 83/100 Rial"
Fall "Vierundachtzig"
Halalas = " & 84/100 Rial"
Fall "Fünfundachtzig"
Halalas = " & 85/100 Rial"
Fall „Sechsundachtzig“
Halalas = " & 86/100 Rial"
Fall "Siebenundachtzig"
Halalas = " & 87/100 Rial"
Fall "Achtundachtzig"
Halalas = " & 88/100 Rial"
Fall „Neunundachtzig“
Halalas = " & 89/100 Rial"
Fall „Neunzig“
Halalas = " & 90/100 Rial"
Fall "Einundneunzig"
Halalas = " & 91/100 Rial"
Fall "Zweiundneunzig"
Halalas = " & 92/100 Rial"
Fall "dreiundneunzig"
Halalas = " & 93/100 Rial"
Fall "Vierundneunzig"
Halalas = " & 94/100 Rial"
Fall "Fünfundneunzig"
Halalas = " & 95/100 Rial"
Fall "Sechsundneunzig"
Halalas = " & 96/100 Rial"
Fall "Siebenundneunzig"
Halalas = " & 97/100 Rial"
Fall "Achtundneunzig"
Halalas = " & 98/100 Rial"
Fall "Neunundneunzig"
Halalas = " & 99/100 Rial"


Case Else
Halalas = " & " & Halalas & " Halalas"
End Select
SpellBilling = Rial & Halala
End Function


' Konvertiert eine Zahl von 100-999 in Text
Funktion GetHundreds(ByVal MyNumber)
Dim-Ergebnis als Zeichenfolge
Wenn Val(MyNumber) = 0, dann Funktion beenden
MeineNummer = Rechts("000" & MeineNummer, 3)
' Wandle die Hunderterstelle um.
If Mid(MyNumber, 1, 1) <> "0" Then
Ergebnis = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
' Wandle die Zehner- und Einerstelle um.
If Mid(MyNumber, 2, 1) <> "0" Then
Ergebnis = Ergebnis & GetTens(Mid(MyNumber, 2))
sonst
Ergebnis = Ergebnis & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Ergebnis
End Function

' Wandelt eine Zahl von 10 bis 99 in Text um.
Funktion GetTens(TensText)
Dim-Ergebnis als Zeichenfolge
Ergebnis = "" ' Den Wert der temporären Funktion auf Null setzen.
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
Wählen Sie Case Val (TensText)
Fall 10: Ergebnis = "Zehn"
Fall 11: Ergebnis = "Elf"
Fall 12: Ergebnis = "Zwölf"
Fall 13: Ergebnis = "Dreizehn"
Fall 14: Ergebnis = "Vierzehn"
Fall 15: Ergebnis = "Fünfzehn"
Fall 16: Ergebnis = "Sechzehn"
Fall 17: Ergebnis = "Siebzehn"
Fall 18: Ergebnis = "Achtzehn"
Fall 19: Ergebnis = "Neunzehn"
Case Else
End Select
Else ' Wenn Wert zwischen 20-99...
Select Case Val(Left(TensText, 1))
Fall 2: Ergebnis = "Zwanzig"
Fall 3: Ergebnis = "Dreißig"
Fall 4: Ergebnis = "Vierzig"
Fall 5: Ergebnis = "Fünfzig"
Fall 6: Ergebnis = "Sechzig"
Fall 7: Ergebnis = "Siebzig"
Fall 8: Ergebnis = "Achtzig"
Fall 9: Ergebnis = "Neunzig"
Case Else
End Select
Ergebnis = Ergebnis & GetDigit _
(Right(TensText, 1)) ' Den eigenen Platz abrufen.
End If
GetTens = Ergebnis
End Function

' Wandelt eine Zahl von 1 bis 9 in Text um.
Funktion HoleZiffer(Ziffer)
Fallwert auswählen (Ziffer)
Fall 1: GetDigit = "Eins"
Fall 2: GetDigit = "Zwei"
Fall 3: GetDigit = "Three"
Fall 4: GetDigit = "Four"
Fall 5: GetDigit = "Five"
Fall 6: GetDigit = "Sechs"
Fall 7: GetDigit = "Sieben"
Fall 8: GetDigit = "Acht"
Fall 9: GetDigit = "Nine"
Fall sonst: GetDigit = ""
End Select
End Function
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Nichts zu sagen! Extremsuper
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Sehr geehrter Herr,

Guten Tag,
Ich habe Ihren VBA-Code getestet, aber leider funktioniert er bei negativen / minus Werten wie -100 -10,000 / (100) (10,000) nicht gut.

Sir, ich verwende den folgenden Code seit 1 Jahren und habe heute den gleichen Fehler entdeckt, der auch in Ihrem VBA-Code zu finden ist.

Wenn ich minus -10,000 schreibe, wird es auf "Only Hundred Ten Thousand" angezeigt.
Wenn ich positive 10,000 schreibe, zeigt es, dass "Only Ten Thousand" gut funktioniert

Beispiel unten:

(10,000.99) Nur Hundert Zehntausend & 99/100 Riyal
10,000.99 Nur Zehntausend & 99/100 Riyal
(10,000,000.99) Nur Hundertzehn Millionen & 99/100 Riyal
10,000,000.99 Nur zehn Millionen & 99/100 Rial
(10,000,000,000.99) Nur Hundert Zehn Milliarden & 99/100 Riyal
10,000,000,000.99 Nur zehn Milliarden und 99/100 Riyal
(10,000,000,000,000.90) Nur Hundert Zehn Billionen & 90/100 Rial
10,000,000,000,000.90 Nur zehn Billionen & 90/100 Rial

Formel = Rechtschreibung

MEIN VBA-CODE:

'Hauptfunktion
Funktion SpellBilling(ByVal MyNumber)
Dim Rial, Halalas, Temp
Dim Dezimalstelle, Anzahl
ReDim Place(9) als String
Platz(2) = " Tausend "
Platz(3) = " Million "
Platz(4) = "Milliarde"
Platz(5) = "Billionen"
' Zeichenfolgedarstellung des Betrags.
MeineNummer = Trim(Str(MeineNummer))
' Position der Dezimalstelle 0 falls keine.
Dezimalstelle = InStr(MeineZahl, ".")
' Konvertieren Sie Halalas und setzen Sie MyNumber auf den Betrag in Riyal.
Wenn Dezimalstelle > 0 Dann
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1)) & _
"00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End If
Anzahl = 1
Do While MyNumber <> ""
Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Riyals = Temp & Place(Count) & Riyals
Wenn Len(MeineNummer) > 3 Dann
MeineNummer = Links(MeineNummer, Len(MeineNummer) - 3)
sonst
MeineNummer = ""
End If
Anzahl = Anzahl + 1
Loop
Wählen Sie Case-Riyal aus
Fall ""
Rial = "Kein Rial"
Fall "Eins"
Rial = "Nur ein Rial"
Case Else
Riyal = "Nur" & Riyal
Rial = Rial & ""
End Select
Wählen Sie Fall Halalas
Fall ""
Halalas = " & 00/00 Rial"
Fall "Eins"
Halalas = " & 01/100 Rial"
Fall "Zwei"
Halalas = " & 02/100 Rial"
Fall "Drei"
Halalas = " & 03/100 Rial"
Fall "Vier"
Halalas = " & 04/100 Rial"
Fall "Fünf"
Halalas = " & 05/100 Rial"
Fall "Sechs"
Halalas = " & 06/100 Rial"
Fall "Sieben"
Halalas = " & 07/100 Rial"
Fall "Acht"
Halalas = " & 08/100 Rial"
Fall "Neun"
Halalas = " & 09/100 Rial"
Fall "Zehn"
Halalas = " & 10/100 Rial"
Fall "Elf"
Halalas = " & 11/100 Rial"
Fall "Zwölf"
Halalas = " & 12/100 Rial"
Fall "Dreizehn"
Halalas = " & 13/100 Rial"
Fall "Vierzehn"
Halalas = " & 14/100 Rial"
Fall "Fünfzehn"
Halalas = " & 15/100 Rial"
Fall "Sechzehn"
Halalas = " & 16/100 Rial"
Fall "Siebzehn"
Halalas = " & 17/100 Rial"
Fall "Achtzehn"
Halalas = " & 18/100 Rial"
Fall "Neunzehn"
Halalas = " & 19/100 Rial"
Fall „Zwanzig“
Halalas = " & 20/100 Rial"
Fall "Einundzwanzig"
Halalas = " & 21/100 Rial"
Fall "Zweiundzwanzig"
Halalas = " & 22/100 Rial"
Fall "Dreiundzwanzig"
Halalas = " & 23/100 Rial"
Fall "Vierundzwanzig"
Halalas = " & 24/100 Rial"
Fall "Fünfundzwanzig"
Halalas = " & 25/100 Rial"
Fall "Sechsundzwanzig"
Halalas = " & 26/100 Rial"
Fall "Siebenundzwanzig"
Halalas = " & 27/100 Rial"
Fall "Achtundzwanzig"
Halalas = " & 28/100 Rial"
Fall "Neunundzwanzig"
Halalas = " & 29/100 Rial"
Fall „Dreißig“
Halalas = " & 30/100 Rial"
Fall "Einunddreißig"
Halalas = " & 31/100 Rial"
Fall "Zweiunddreißig"
Halalas = " & 32/100 Rial"
Fall „Dreiunddreißig“
Halalas = " & 33/100 Rial"
Fall "Vierunddreißig"
Halalas = " & 34/100 Rial"
Fall "Fünfunddreißig"
Halalas = " & 35/100 Rial"
Fall "Sechsunddreißig"
Halalas = " & 36/100 Rial"
Fall "Siebenunddreißig"
Halalas = " & 37/100 Rial"
Fall "Achtunddreißig"
Halalas = " & 38/100 Rial"
Fall "Neununddreißig"
Halalas = " & 39/100 Rial"
Fall „Vierzig“
Halalas = " & 40/100 Rial"
Fall „Einundvierzig“
Halalas = " & 41/100 Rial"
Fall "Zweiundvierzig"
Halalas = " & 42/100 Rial"
Fall "Dreiundvierzig"
Halalas = " & 43/100 Rial"
Fall "Vierundvierzig"
Halalas = " & 44/100 Rial"
Fall "Fünfundvierzig"
Halalas = " & 45/100 Rial"
Fall „Sechsundvierzig“
Halalas = " & 46/100 Rial"
Fall "Siebenundvierzig"
Halalas = " & 47/100 Rial"
Fall "Achtundvierzig"
Halalas = " & 48/100 Rial"
Fall "Neunundvierzig"
Halalas = " & 49/100 Rial"
Koffer "Fünfzig"
Halalas = " & 50/100 Rial"
Fall "Einundfünfzig"
Halalas = " & 51/100 Rial"
Fall "Zweiundfünfzig"
Halalas = " & 52/100 Rial"
Fall "Dreiundfünfzig"
Halalas = " & 53/100 Rial"
Fall "Vierundfünfzig"
Halalas = " & 54/100 Rial"
Fall "Fünfundfünfzig"
Halalas = " & 55/100 Rial"
Fall "Fifty Six"
Halalas = " & 56/100 Rial"
Fall "Siebenundfünfzig"
Halalas = " & 57/100 Rial"
Fall "Achtundfünfzig"
Halalas = " & 58/100 Rial"
Fall "Neunundfünfzig"
Halalas = " & 59/100 Rial"
Koffer "Sechzig"
Halalas = " & 60/100 Rial"
Fall "Einundsechzig"
Halalas = " & 61/100 Rial"
Fall "Zweiundsechzig"
Halalas = " & 62/100 Rial"
Fall "Dreiundsechzig"
Halalas = " & 63/100 Rial"
Fall "Vierundsechzig"
Halalas = " & 64/100 Rial"
Fall "Fünfundsechzig"
Halalas = " & 65/100 Rial"
Fall "Sechsundsechzig"
Halalas = " & 66/100 Rial"
Fall "Siebenundsechzig"
Halalas = " & 67/100 Rial"
Fall "Achtundsechzig"
Halalas = " & 68/100 Rial"
Fall "Neunundsechzig"
Halalas = " & 69/100 Rial"
Fall „Siebzig“
Halalas = " & 70/100 Rial"
Fall „Einundsiebzig“
Halalas = " & 71/100 Rial"
Fall "Zweiundsiebzig"
Halalas = " & 72/100 Rial"
Fall „Dreiundsiebzig“
Halalas = " & 73/100 Rial"
Fall "Vierundsiebzig"
Halalas = " & 74/100 Rial"
Fall "Fünfundsiebzig"
Halalas = " & 75/100 Rial"
Fall „Sechsundsiebzig“
Halalas = " & 76/100 Rial"
Fall "Siebenundsiebzig"
Halalas = " & 77/100 Rial"
Fall "Achtundsiebzig"
Halalas = " & 78/100 Rial"
Fall "Neunundsiebzig"
Halalas = " & 79/100 Rial"
Fall „Achtzig“
Halalas = " & 80/100 Rial"
Fall "Einundachtzig"
Halalas = " & 81/100 Rial"
Fall "Zweiundachtzig"
Halalas = " & 82/100 Rial"
Fall "Dreiundachtzig"
Halalas = " & 83/100 Rial"
Fall "Vierundachtzig"
Halalas = " & 84/100 Rial"
Fall "Fünfundachtzig"
Halalas = " & 85/100 Rial"
Fall „Sechsundachtzig“
Halalas = " & 86/100 Rial"
Fall "Siebenundachtzig"
Halalas = " & 87/100 Rial"
Fall "Achtundachtzig"
Halalas = " & 88/100 Rial"
Fall „Neunundachtzig“
Halalas = " & 89/100 Rial"
Fall „Neunzig“
Halalas = " & 90/100 Rial"
Fall "Einundneunzig"
Halalas = " & 91/100 Rial"
Fall "Zweiundneunzig"
Halalas = " & 92/100 Rial"
Fall "dreiundneunzig"
Halalas = " & 93/100 Rial"
Fall "Vierundneunzig"
Halalas = " & 94/100 Rial"
Fall "Fünfundneunzig"
Halalas = " & 95/100 Rial"
Fall "Sechsundneunzig"
Halalas = " & 96/100 Rial"
Fall "Siebenundneunzig"
Halalas = " & 97/100 Rial"
Fall "Achtundneunzig"
Halalas = " & 98/100 Rial"
Fall "Neunundneunzig"
Halalas = " & 99/100 Rial"


Case Else
Halalas = " & " & Halalas & " Halalas"
End Select
SpellBilling = Rial & Halala
End Function


' Konvertiert eine Zahl von 100-999 in Text
Funktion GetHundreds(ByVal MyNumber)
Dim-Ergebnis als Zeichenfolge
Wenn Val(MyNumber) = 0, dann Funktion beenden
MeineNummer = Rechts("000" & MeineNummer, 3)
' Wandle die Hunderterstelle um.
If Mid(MyNumber, 1, 1) <> "0" Then
Ergebnis = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
' Wandle die Zehner- und Einerstelle um.
If Mid(MyNumber, 2, 1) <> "0" Then
Ergebnis = Ergebnis & GetTens(Mid(MyNumber, 2))
sonst
Ergebnis = Ergebnis & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Ergebnis
End Function

' Wandelt eine Zahl von 10 bis 99 in Text um.
Funktion GetTens(TensText)
Dim-Ergebnis als Zeichenfolge
Ergebnis = "" ' Den Wert der temporären Funktion auf Null setzen.
If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...
Wählen Sie Case Val (TensText)
Fall 10: Ergebnis = "Zehn"
Fall 11: Ergebnis = "Elf"
Fall 12: Ergebnis = "Zwölf"
Fall 13: Ergebnis = "Dreizehn"
Fall 14: Ergebnis = "Vierzehn"
Fall 15: Ergebnis = "Fünfzehn"
Fall 16: Ergebnis = "Sechzehn"
Fall 17: Ergebnis = "Siebzehn"
Fall 18: Ergebnis = "Achtzehn"
Fall 19: Ergebnis = "Neunzehn"
Case Else
End Select
Else ' Wenn Wert zwischen 20-99...
Select Case Val(Left(TensText, 1))
Fall 2: Ergebnis = "Zwanzig"
Fall 3: Ergebnis = "Dreißig"
Fall 4: Ergebnis = "Vierzig"
Fall 5: Ergebnis = "Fünfzig"
Fall 6: Ergebnis = "Sechzig"
Fall 7: Ergebnis = "Siebzig"
Fall 8: Ergebnis = "Achtzig"
Fall 9: Ergebnis = "Neunzig"
Case Else
End Select
Ergebnis = Ergebnis & GetDigit _
(Right(TensText, 1)) ' Den eigenen Platz abrufen.
End If
GetTens = Ergebnis
End Function

' Wandelt eine Zahl von 1 bis 9 in Text um.
Funktion HoleZiffer(Ziffer)
Fallwert auswählen (Ziffer)
Fall 1: GetDigit = "Eins"
Fall 2: GetDigit = "Zwei"
Fall 3: GetDigit = "Three"
Fall 4: GetDigit = "Four"
Fall 5: GetDigit = "Five"
Fall 6: GetDigit = "Sechs"
Fall 7: GetDigit = "Sieben"
Fall 8: GetDigit = "Acht"
Fall 9: GetDigit = "Nine"
Fall sonst: GetDigit = ""
End Select
End Function
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich muss alle Excel-Arbeitsmappen anwenden. So wenden Sie diese Codierung auf alle Excel-Arbeitsmappen an.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Rupees Fourteen Thousand Eight Hundred, Seventy Five Nur der letzte Betrag sollte das Wort und Beispiel enthalten
Nur vierzehntausendachthundertfünfundsiebzig Rupien
Dieser Kommentar wurde vom Moderator auf der Website minimiert
kann nicht mehr als 10 crore lesen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
One Lac Sixty Nine Thousand Eighty One and Forty Two Paise - Nicht richtig konvertiert. Die obige Zahl wurde auch nicht konvertiert, wenn sie gerundet wird.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
DANKE FÜR DEN CODE...
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke für die Codierung. Ich habe mich beworben und es funktioniert. Aber es gilt nur für diese bestimmte Arbeitsmappe. Ich muss alle Excel-Arbeitsmappen anwenden. So wenden Sie diese Codierung auf alle Excel-Arbeitsmappen an.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, SivaG
Ja, dieser Code ist eine benutzerdefinierte Funktion. Sie sollten die Formel einzeln auf die Dateien anwenden. Wenn Sie einen Code für mehrere Arbeitsmappen benötigen, wird er auf alle Zahlen angewendet, sodass alle Zahlen geändert werden. Und der Code kann das Rückgängigmachen nicht unterstützen, es gibt einige Sicherheitsrisiken. Es wird nicht empfohlen, dies zu tun. Vielen Dank!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie kann das Wort "Rupien" entfernt werden? Normalerweise haben Scheckblätter bereits das Wort "Rupees".
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Sakariya
Um Ihr Problem zu lösen, wenden Sie bitte den folgenden Code an:
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



Bitte versuchen Sie es, ich hoffe, es kann Ihnen helfen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank... 🙂
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Dies gilt jedoch nur für ein Excel. Wenn ich diese Formel in einem anderen Excel eingebe, funktioniert es nicht
was ist die lösung dafür
bitte zurück
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo,

Wenn Sie mehrere Arbeitsmappen haben, müssen Sie den Code in mehrere Arbeitsmappen kopieren.
Wenn Sie es nur in eine Arbeitsmappe kopieren, funktioniert es nicht in anderen Arbeitsmappen. 😀
Bitte versuchen, danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank, es ist sehr hilfreich
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Sir, ist es möglich, dies standardmäßig für jedes Excel-Arbeitsblatt festzulegen oder nicht?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Mukesch

Ja, solange der Code in das VBA-Fenstermodul kopiert wird, kann die Formel auf die gesamte Arbeitsmappe angewendet werden.
Aber wenn Sie die Arbeitsmappe schließen, sollten Sie sie speichern als Excel Makroaktivierte Arbeitsmappe Datei Format.
Bitte ausprobieren, danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Mehrmals probiert funktioniert nicht. Bitte helfen Sie
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL