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. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο παράθυρο της ενότητας.

Κωδικός 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. Αφού εισαγάγετε τον κωδικό, αποθηκεύστε και κλείστε το παράθυρο κώδικα, επιστρέψτε στο φύλλο εργασίας και εισαγάγετε αυτόν τον τύπο: = RupeeFormat (A2) σε ένα κενό κελί και, στη συνέχεια, σύρετε τη λαβή πλήρωσης προς τα κάτω για να εφαρμόσετε αυτόν τον τύπο σε άλλα κελιά, όλοι οι αριθμοί έχουν διατυπωθεί σε ρουπίες, δείτε το στιγμιότυπο οθόνης:


Μετατρέψτε τους αριθμούς σε λέξεις σε αγγλικό δολάριο με μια καταπληκτική δυνατότητα

Εάν θέλετε να μετατρέψετε τους αριθμούς σε λέξεις σε αγγλικό δολάριο, Kutools για Excel'S Αριθμοί σε λέξεις Η δυνατότητα μπορεί να σας βοηθήσει να επιλύσετε αυτήν την εργασία γρήγορα και εύκολα.

Συμβουλές:Για να το εφαρμόσετε Αριθμός σε λέξεις χαρακτηριστικό, πρώτα, πρέπει να κατεβάσετε το Kutools για Excelκαι, στη συνέχεια, εφαρμόστε τη λειτουργία γρήγορα και εύκολα.

Μετά την εγκατάσταση Kutools για Excel, κάντε το ως εξής:

1. Επιλέξτε τη λίστα των αριθμών που θέλετε να μετατρέψετε και, στη συνέχεια, κάντε κλικ στο Kutools > Περιεχόμενο > Αριθμοί σε λέξεις, δείτε στιγμιότυπα οθόνης:

2. Στην Αριθμοί σε λέξεις νομίσματος , επιλέξτε Αγγλικά Επιλογή από το Γλώσσες ενότητα και, στη συνέχεια, κάντε κλικ στο Ok κουμπί, οι αριθμοί στην επιλογή έχουν μετατραπεί σε λέξεις αγγλικού νομίσματος, δείτε το στιγμιότυπο οθόνης:

Κάντε κλικ για λήψη του Kutools για Excel και δωρεάν δοκιμή τώρα!

 


  • Super Formula Bar (επεξεργαστείτε εύκολα πολλές γραμμές κειμένου και τύπου). Διάταξη ανάγνωσης (εύκολη ανάγνωση και επεξεργασία μεγάλου αριθμού κελιών). Επικόλληση σε φιλτραρισμένο εύρος...
  • Συγχώνευση κελιών / σειρών / στηλών και τήρηση δεδομένων · Περιεχόμενο διαχωρισμού κελιών Συνδυάστε διπλές σειρές και άθροισμα / μέσος όρος... Αποτροπή διπλών κυττάρων; Συγκρίνετε τα εύρη...
  • Επιλέξτε Διπλότυπο ή Μοναδικό Σειρές; Επιλέξτε Κενές σειρές (όλα τα κελιά είναι κενά). Σούπερ εύρεση και ασαφής εύρεση σε πολλά βιβλία εργασίας. Τυχαία επιλογή ...
  • Ακριβές αντίγραφο Πολλαπλά κελιά χωρίς αλλαγή της αναφοράς τύπου. Αυτόματη δημιουργία αναφορών σε πολλαπλά φύλλα? Εισαγωγή κουκκίδων, Πλαίσια ελέγχου και άλλα ...
  • Αγαπημένα και γρήγορη εισαγωγή τύπων, Σειρά, Διαγράμματα και Εικόνες; Κρυπτογράφηση κυττάρων με κωδικό πρόσβασης Δημιουργία λίστας αλληλογραφίας και στείλτε email ...
  • Εξαγωγή κειμένου, Προσθήκη κειμένου, Κατάργηση κατά θέση, Αφαιρέστε το διάστημα; Δημιουργία και εκτύπωση υποσύνολων σελιδοποίησης. Μετατροπή περιεχομένου και σχολίων μεταξύ κελιών...
  • Σούπερ φίλτρο (αποθηκεύστε και εφαρμόστε σχήματα φίλτρων σε άλλα φύλλα). Προηγμένη ταξινόμηση ανά μήνα / εβδομάδα / ημέρα, συχνότητα και άλλα. Ειδικό φίλτρο με έντονη, πλάγια ...
  • Συνδυάστε βιβλία εργασίας και φύλλα εργασίας; Συγχώνευση πινάκων βάσει βασικών στηλών. Διαχωρίστε τα δεδομένα σε πολλά φύλλα; Μαζική μετατροπή xls, xlsx και PDF...
  • Ομαδοποίηση συγκεντρωτικού πίνακα κατά αριθμός εβδομάδας, ημέρα εβδομάδας και πολλά άλλα ... Εμφάνιση ξεκλειδωμένων, κλειδωμένων κελιών με διαφορετικά χρώματα. Επισημάνετε τα κελιά που έχουν τύπο / όνομα...
kte καρτέλα 201905
  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
κάτω μέρος γραφείου

 

Σχόλια (22)
Δεν υπάρχουν ακόμη βαθμολογίες. Γίνε ο πρώτος που θα αξιολογήσετε!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Το Excel διακόπτεται όταν το κελί αναφοράς δεν έχει βαλβίδα!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια, Χρήστης,
Σας ευχαριστούμε για το σχόλιό σας, ο κώδικας σε αυτό το άρθρο έχει ενημερωθεί, δοκιμάστε ξανά, σας ευχαριστώ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αγαπητέ Κύριε,

Καλή σας μέρα,

Δοκίμασα τον παραπάνω τύπο δεν λειτουργεί με παύλα μείον τιμές όπως -100 -10,000 ή (100) (10,000)

Κύριε, χρησιμοποιώ τον παρακάτω κώδικα τα τελευταία 1 χρόνια και σήμερα ανακάλυψα το ίδιο σφάλμα.

Όταν γράφω μείον -10,000 ή (10,000) δείχνει "Μόνο εκατό δέκα χιλιάδες"
Όταν γράφω το Positive 10,000 λειτουργεί τέλεια "Μόνο δέκα χιλιάδες"

Παρακάτω παράδειγμα:

(10,000.99) Μόνο εκατόν δέκα χιλιάδες και 99/100 ριάλ
10,000.99 Μόνο δέκα χιλιάδες & 99/100 ριάλ
(10,000,000.99) Μόνο εκατόν δέκα εκατομμύρια & 99/100 ριάλ
10,000,000.99 Μόνο δέκα εκατομμύρια & 99/100 ριάλ
(10,000,000,000.99) Μόνο εκατόν δέκα δισεκατομμύρια & 99/100 ριάλ
10,000,000,000.99 Μόνο δέκα δισεκατομμύρια & 99/100 ριάλ
(10,000,000,000,000.90) Μόνο εκατό δέκα τρισεκατομμύρια & 90/100 ριάλ
10,000,000,000,000.90 Μόνο δέκα τρισεκατομμύρια & 90/100 ριάλ

Φόρμουλα = ορθογραφία

Ο ΚΩΔΙΚΟΣ ΜΟΥ VBA:

'Κύρια λειτουργία
Συνάρτηση SpellBilling (ByVal MyNumber)
Dim Riyals, Halalas, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Τόπος(2) = "Χίλια"
Θέση (3) = "Εκατομμύριο"
Place(4) = "Δισ."
Place(5) = "Τρισεκατομμύριο"
Αναπαράσταση συμβολοσειράς του ποσού.
MyNumber = Περικοπή(Str(MyNumber))
' Θέση δεκαδικού ψηφίου 0 αν δεν υπάρχει.
DecimalPlace = InStr(MyNumber, ".")
Μετατρέψτε το Halalas και ορίστε το MyNumber σε Riyal.
Αν DecimalPlace > 0 Τότε
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MyNumber = Περικοπή(Αριστερά(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do while MyNumber <> ""
Temp = GetHundreds (Δεξιά (MyNumber, 3))
Αν Temp <> "" Τότε Riyals = Temp & Place(Count) & Riyals
Εάν Len(MyNumber) > 3 Τότε
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Αλλού
My Number = ""
End If
Count = Count + 1
Βρόχος
Επιλέξτε Case Riyals
Υπόθεση ""
Ριάλ = "Χωρίς Ριάλ"
Υπόθεση "Ένα"
Ριάλ = "Μόνο ένα Ριάλ"
Υπόθεση άλλο
Riyals = "Only " & Riyals
Riyals = Riyals & ""
Επιλέξτε Τερματισμός
Επιλέξτε Υπόθεση Halalas
Υπόθεση ""
Halalas = " & 00/00 Riyals"
Υπόθεση "Ένα"
Halalas = " & 01/100 Riyals"
Υπόθεση "Δύο"
Halalas = " & 02/100 Riyals"
Υπόθεση "Τρία"
Halalas = " & 03/100 Riyals"
Υπόθεση "Τέσσερα"
Halalas = " & 04/100 Riyals"
Υπόθεση "Πέντε"
Halalas = " & 05/100 Riyals"
Υπόθεση "Έξι"
Halalas = " & 06/100 Riyals"
Υπόθεση "Επτά"
Halalas = " & 07/100 Riyals"
Υπόθεση "Οκτώ"
Halalas = " & 08/100 Riyals"
Υπόθεση "Εννέα"
Halalas = " & 09/100 Riyals"
Υπόθεση "Δέκα"
Halalas = " & 10/100 Riyals"
Υπόθεση "Έντεκα"
Halalas = " & 11/100 Riyals"
Υπόθεση "Δώδεκα"
Halalas = " & 12/100 Riyals"
Υπόθεση "Δεκατρία"
Halalas = " & 13/100 Riyals"
Υπόθεση "δεκατέσσερα"
Halalas = " & 14/100 Riyals"
Υπόθεση "δεκαπέντε"
Halalas = " & 15/100 Riyals"
Υπόθεση "δεκαέξι"
Halalas = " & 16/100 Riyals"
Υπόθεση «δεκαεπτά»
Halalas = " & 17/100 Riyals"
Υπόθεση "Δεκαοχτώ"
Halalas = " & 18/100 Riyals"
Υπόθεση "Δεκαεννέα"
Halalas = " & 19/100 Riyals"
Υπόθεση "Είκοσι"
Halalas = " & 20/100 Riyals"
Υπόθεση "Twenty One"
Halalas = " & 21/100 Riyals"
Υπόθεση "Twenty Two"
Halalas = " & 22/100 Riyals"
Υπόθεση "Είκοσι τρία"
Halalas = " & 23/100 Riyals"
Υπόθεση "Twenty Four"
Halalas = " & 24/100 Riyals"
Υπόθεση "Twenty Five"
Halalas = " & 25/100 Riyals"
Υπόθεση "Twenty Six"
Halalas = " & 26/100 Riyals"
Υπόθεση "Twenty Seven"
Halalas = " & 27/100 Riyals"
Υπόθεση "Twenty Eight"
Halalas = " & 28/100 Riyals"
Υπόθεση "Twenty Nine"
Halalas = " & 29/100 Riyals"
Υπόθεση "Τριάντα"
Halalas = " & 30/100 Riyals"
Υπόθεση "Τριάντα ένα"
Halalas = " & 31/100 Riyals"
Υπόθεση "Τριάντα δύο"
Halalas = " & 32/100 Riyals"
Υπόθεση "Τριάντα τρία"
Halalas = " & 33/100 Riyals"
Υπόθεση "Τριάντα τέσσερα"
Halalas = " & 34/100 Riyals"
Υπόθεση «Τριάντα πέντε»
Halalas = " & 35/100 Riyals"
Υπόθεση «Τριάντα Έξι»
Halalas = " & 36/100 Riyals"
Υπόθεση "Τριάντα επτά"
Halalas = " & 37/100 Riyals"
Υπόθεση "Τριάντα οκτώ"
Halalas = " & 38/100 Riyals"
Υπόθεση "Τριάντα εννέα"
Halalas = " & 39/100 Riyals"
Υπόθεση "Σαράντα"
Halalas = " & 40/100 Riyals"
Υπόθεση "Σαράντα Ένα"
Halalas = " & 41/100 Riyals"
Υπόθεση "Σαράντα δύο"
Halalas = " & 42/100 Riyals"
Υπόθεση "Σαράντα τρία"
Halalas = " & 43/100 Riyals"
Υπόθεση "Σαράντα τέσσερα"
Halalas = " & 44/100 Riyals"
Υπόθεση "Σαράντα πέντε"
Halalas = " & 45/100 Riyals"
Υπόθεση "Σαράντα Έξι"
Halalas = " & 46/100 Riyals"
Υπόθεση "Σαράντα επτά"
Halalas = " & 47/100 Riyals"
Υπόθεση "Σαράντα οκτώ"
Halalas = " & 48/100 Riyals"
Υπόθεση "Σαράντα εννέα"
Halalas = " & 49/100 Riyals"
Υπόθεση "Πενήντα"
Halalas = " & 50/100 Riyals"
Υπόθεση "Fifty One"
Halalas = " & 51/100 Riyals"
Υπόθεση "Fifty Two"
Halalas = " & 52/100 Riyals"
Υπόθεση "Πενήντα τρία"
Halalas = " & 53/100 Riyals"
Υπόθεση "Fifty Four"
Halalas = " & 54/100 Riyals"
Υπόθεση "Fifty Five"
Halalas = " & 55/100 Riyals"
Υπόθεση "Fifty Six"
Halalas = " & 56/100 Riyals"
Υπόθεση "Fifty Seven"
Halalas = " & 57/100 Riyals"
Υπόθεση "Πενήντα οκτώ"
Halalas = " & 58/100 Riyals"
Υπόθεση "Fifty Nine"
Halalas = " & 59/100 Riyals"
Υπόθεση "Εξήντα"
Halalas = " & 60/100 Riyals"
Υπόθεση "Sixty One"
Halalas = " & 61/100 Riyals"
Υπόθεση "εξήντα δύο"
Halalas = " & 62/100 Riyals"
Υπόθεση "εξήντα τρία"
Halalas = " & 63/100 Riyals"
Υπόθεση "εξήντα τέσσερα"
Halalas = " & 64/100 Riyals"
Υπόθεση "Εξήντα Πέντε"
Halalas = " & 65/100 Riyals"
Υπόθεση "Sixty Six"
Halalas = " & 66/100 Riyals"
Υπόθεση "Εξήντα επτά"
Halalas = " & 67/100 Riyals"
Υπόθεση "Εξήντα οκτώ"
Halalas = " & 68/100 Riyals"
Υπόθεση "Sixty Nine"
Halalas = " & 69/100 Riyals"
Υπόθεση "Εβδομήντα"
Halalas = " & 70/100 Riyals"
Υπόθεση "εβδομήντα ένα"
Halalas = " & 71/100 Riyals"
Υπόθεση "Εβδομήντα δύο"
Halalas = " & 72/100 Riyals"
Υπόθεση "εβδομήντα τρία"
Halalas = " & 73/100 Riyals"
Υπόθεση "Εβδομήντα τέσσερα"
Halalas = " & 74/100 Riyals"
Υπόθεση "Εβδομήντα πέντε"
Halalas = " & 75/100 Riyals"
Υπόθεση "Εβδομήντα Έξι"
Halalas = " & 76/100 Riyals"
Υπόθεση "Εβδομήντα επτά"
Halalas = " & 77/100 Riyals"
Υπόθεση "Εβδομήντα οκτώ"
Halalas = " & 78/100 Riyals"
Υπόθεση "Εβδομήντα εννέα"
Halalas = " & 79/100 Riyals"
Υπόθεση "ογδόντα"
Halalas = " & 80/100 Riyals"
Υπόθεση "ογδόντα ένα"
Halalas = " & 81/100 Riyals"
Υπόθεση "ογδόντα δύο"
Halalas = " & 82/100 Riyals"
Υπόθεση «ογδόντα τρία»
Halalas = " & 83/100 Riyals"
Υπόθεση "ογδόντα τέσσερα"
Halalas = " & 84/100 Riyals"
Υπόθεση «ογδόντα πέντε»
Halalas = " & 85/100 Riyals"
Υπόθεση "ογδόντα έξι"
Halalas = " & 86/100 Riyals"
Υπόθεση "ογδόντα επτά"
Halalas = " & 87/100 Riyals"
Υπόθεση "ογδόντα οκτώ"
Halalas = " & 88/100 Riyals"
Υπόθεση "ογδόντα εννέα"
Halalas = " & 89/100 Riyals"
Υπόθεση "Ενενήντα"
Halalas = " & 90/100 Riyals"
Υπόθεση "Ενενήντα Ένα"
Halalas = " & 91/100 Riyals"
Υπόθεση "Ενενήντα δύο"
Halalas = " & 92/100 Riyals"
Υπόθεση "Ενενήντα τρία"
Halalas = " & 93/100 Riyals"
Υπόθεση "Ενενήντα Τέσσερα"
Halalas = " & 94/100 Riyals"
Υπόθεση "Ενενήντα Πέντε"
Halalas = " & 95/100 Riyals"
Υπόθεση "Ενενήντα Έξι"
Halalas = " & 96/100 Riyals"
Υπόθεση "Ενενήντα Επτά"
Halalas = " & 97/100 Riyals"
Υπόθεση "Ενενήντα οκτώ"
Halalas = " & 98/100 Riyals"
Υπόθεση "Ενενήντα εννέα"
Halalas = " & 99/100 Riyals"


Υπόθεση άλλο
Halalas = " & " & Halalas & " Halalas "
Επιλέξτε Τερματισμός
SpellBilling = Riyals & Halalas
Τέλος Λειτουργία


Μετατρέπει έναν αριθμό από το 100-999 σε κείμενο
Συνάρτηση GetHundreds (ByVal MyNumber)
Αχνό αποτέλεσμα ως συμβολοσειρά
Αν Val(MyNumber) = 0 Τότε Έξοδος από τη Συνάρτηση
MyNumber = Δεξιά ("000" & MyNumber, 3)
Μετατρέψτε το μέρος των εκατοντάδων.
Αν Mid(MyNumber, 1, 1) <> "0" Τότε
Αποτέλεσμα = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
Μετατρέψτε τις δεκάδες και τις θέσεις των μονάδων.
Αν Mid(MyNumber, 2, 1) <> "0" Τότε
Αποτέλεσμα = Αποτέλεσμα & GetTens(Mid(MyNumber, 2))
Αλλού
Αποτέλεσμα = Αποτέλεσμα & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Αποτέλεσμα
Τέλος Λειτουργία

Μετατρέπει έναν αριθμό από το 10 στο 99 σε κείμενο.
Συνάρτηση GetTens (TensText)
Αχνό αποτέλεσμα ως συμβολοσειρά
Αποτέλεσμα = "" ' Ακυρώστε την τιμή της προσωρινής συνάρτησης.
Αν Val(Left(TensText, 1)) = 1 Τότε ' Αν τιμή μεταξύ 10-19...
Επιλέξτε Case Val (TensText)
Περίπτωση 10: Αποτέλεσμα = "Δέκα"
Περίπτωση 11: Αποτέλεσμα = "Έντεκα"
Περίπτωση 12: Αποτέλεσμα = "Δώδεκα"
Περίπτωση 13: Αποτέλεσμα = "Δεκατρία"
Περίπτωση 14: Αποτέλεσμα = "Δεκατέσσερα"
Περίπτωση 15: Αποτέλεσμα = "Δεκαπέντε"
Περίπτωση 16: Αποτέλεσμα = "Δεκαέξι"
Περίπτωση 17: Αποτέλεσμα = "Δεκαεπτά"
Περίπτωση 18: Αποτέλεσμα = "Δεκαοχτώ"
Περίπτωση 19: Αποτέλεσμα = "Δεκαεννέα"
Υπόθεση άλλο
Επιλέξτε Τερματισμός
Διαφορετικά 'Εάν τιμή μεταξύ 20-99...
Επιλέξτε Case Val(Left(TensText, 1))
Περίπτωση 2: Αποτέλεσμα = "Είκοσι"
Περίπτωση 3: Αποτέλεσμα = "Τριάντα"
Περίπτωση 4: Αποτέλεσμα = "Σαράντα"
Περίπτωση 5: Αποτέλεσμα = "Πενήντα"
Περίπτωση 6: Αποτέλεσμα = "Εξήντα"
Περίπτωση 7: Αποτέλεσμα = "Εβδομήντα"
Περίπτωση 8: Αποτέλεσμα = "Ογδόντα"
Περίπτωση 9: Αποτέλεσμα = "Ενενήντα"
Υπόθεση άλλο
Επιλέξτε Τερματισμός
Αποτέλεσμα = Αποτέλεσμα & GetDigit _
(Δεξιά(TensText, 1)) ' Ανάκτηση θέσης.
End If
GetTens = Αποτέλεσμα
Τέλος Λειτουργία

Μετατρέπει έναν αριθμό από το 1 στο 9 σε κείμενο.
Συνάρτηση GetDigit(Digit)
Επιλέξτε Case Val(Digit)
Περίπτωση 1: GetDigit = "Ένα"
Περίπτωση 2: GetDigit = "Δύο"
Περίπτωση 3: GetDigit = "Three"
Περίπτωση 4: GetDigit = "Τέσσερα"
Περίπτωση 5: GetDigit = "Πέντε"
Περίπτωση 6: GetDigit = "Έξι"
Περίπτωση 7: GetDigit = "Επτά"
Περίπτωση 8: GetDigit = "Οκτώ"
Περίπτωση 9: GetDigit = "Εννέα"
Άλλη περίπτωση: GetDigit = ""
Επιλέξτε Τερματισμός
Τέλος Λειτουργία
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Τίποτα να πω! Extremlysuper
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Αγαπητέ Κύριε,

Καλή σας μέρα,
Δοκίμασα τον κωδικό VBA σας, αλλά δυστυχώς δεν λειτουργεί καλά σε αρνητικές / μείον τιμές όπως -100 -10,000 / (100) (10,000).

Κύριε, χρησιμοποιώ τον παρακάτω κώδικα τα τελευταία 1 χρόνια και σήμερα ανακάλυψα το ίδιο σφάλμα που βρίσκεται και στον κωδικό VBA σας.

Όταν γράφω μείον -10,000 εμφανίζεται στο "Only Hundred Ten Thousand"
Όταν γράφω θετικά 10,000 δείχνει στο "Only Ten Thousand" λειτουργεί καλά

Παρακάτω παράδειγμα:

(10,000.99) Μόνο εκατόν δέκα χιλιάδες και 99/100 ριάλ
10,000.99 Μόνο δέκα χιλιάδες & 99/100 ριάλ
(10,000,000.99) Μόνο εκατόν δέκα εκατομμύρια & 99/100 ριάλ
10,000,000.99 Μόνο δέκα εκατομμύρια & 99/100 ριάλ
(10,000,000,000.99) Μόνο εκατόν δέκα δισεκατομμύρια & 99/100 ριάλ
10,000,000,000.99 Μόνο δέκα δισεκατομμύρια & 99/100 ριάλ
(10,000,000,000,000.90) Μόνο εκατό δέκα τρισεκατομμύρια & 90/100 ριάλ
10,000,000,000,000.90 Μόνο δέκα τρισεκατομμύρια & 90/100 ριάλ

Φόρμουλα = ορθογραφία

Ο ΚΩΔΙΚΟΣ ΜΟΥ VBA:

'Κύρια λειτουργία
Συνάρτηση SpellBilling (ByVal MyNumber)
Dim Riyals, Halalas, Temp
Dim DecimalPlace, Count
ReDim Place(9) As String
Τόπος(2) = "Χίλια"
Θέση (3) = "Εκατομμύριο"
Place(4) = "Δισ."
Place(5) = "Τρισεκατομμύριο"
Αναπαράσταση συμβολοσειράς του ποσού.
MyNumber = Περικοπή(Str(MyNumber))
' Θέση δεκαδικού ψηφίου 0 αν δεν υπάρχει.
DecimalPlace = InStr(MyNumber, ".")
Μετατρέψτε το Halalas και ορίστε το MyNumber σε Riyal.
Αν DecimalPlace > 0 Τότε
Halalas = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
"00", 2))
MyNumber = Περικοπή(Αριστερά(MyNumber, DecimalPlace - 1))
End If
Count = 1
Do while MyNumber <> ""
Temp = GetHundreds (Δεξιά (MyNumber, 3))
Αν Temp <> "" Τότε Riyals = Temp & Place(Count) & Riyals
Εάν Len(MyNumber) > 3 Τότε
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Αλλού
My Number = ""
End If
Count = Count + 1
Βρόχος
Επιλέξτε Case Riyals
Υπόθεση ""
Ριάλ = "Χωρίς Ριάλ"
Υπόθεση "Ένα"
Ριάλ = "Μόνο ένα Ριάλ"
Υπόθεση άλλο
Riyals = "Only " & Riyals
Riyals = Riyals & ""
Επιλέξτε Τερματισμός
Επιλέξτε Υπόθεση Halalas
Υπόθεση ""
Halalas = " & 00/00 Riyals"
Υπόθεση "Ένα"
Halalas = " & 01/100 Riyals"
Υπόθεση "Δύο"
Halalas = " & 02/100 Riyals"
Υπόθεση "Τρία"
Halalas = " & 03/100 Riyals"
Υπόθεση "Τέσσερα"
Halalas = " & 04/100 Riyals"
Υπόθεση "Πέντε"
Halalas = " & 05/100 Riyals"
Υπόθεση "Έξι"
Halalas = " & 06/100 Riyals"
Υπόθεση "Επτά"
Halalas = " & 07/100 Riyals"
Υπόθεση "Οκτώ"
Halalas = " & 08/100 Riyals"
Υπόθεση "Εννέα"
Halalas = " & 09/100 Riyals"
Υπόθεση "Δέκα"
Halalas = " & 10/100 Riyals"
Υπόθεση "Έντεκα"
Halalas = " & 11/100 Riyals"
Υπόθεση "Δώδεκα"
Halalas = " & 12/100 Riyals"
Υπόθεση "Δεκατρία"
Halalas = " & 13/100 Riyals"
Υπόθεση "δεκατέσσερα"
Halalas = " & 14/100 Riyals"
Υπόθεση "δεκαπέντε"
Halalas = " & 15/100 Riyals"
Υπόθεση "δεκαέξι"
Halalas = " & 16/100 Riyals"
Υπόθεση «δεκαεπτά»
Halalas = " & 17/100 Riyals"
Υπόθεση "Δεκαοχτώ"
Halalas = " & 18/100 Riyals"
Υπόθεση "Δεκαεννέα"
Halalas = " & 19/100 Riyals"
Υπόθεση "Είκοσι"
Halalas = " & 20/100 Riyals"
Υπόθεση "Twenty One"
Halalas = " & 21/100 Riyals"
Υπόθεση "Twenty Two"
Halalas = " & 22/100 Riyals"
Υπόθεση "Είκοσι τρία"
Halalas = " & 23/100 Riyals"
Υπόθεση "Twenty Four"
Halalas = " & 24/100 Riyals"
Υπόθεση "Twenty Five"
Halalas = " & 25/100 Riyals"
Υπόθεση "Twenty Six"
Halalas = " & 26/100 Riyals"
Υπόθεση "Twenty Seven"
Halalas = " & 27/100 Riyals"
Υπόθεση "Twenty Eight"
Halalas = " & 28/100 Riyals"
Υπόθεση "Twenty Nine"
Halalas = " & 29/100 Riyals"
Υπόθεση "Τριάντα"
Halalas = " & 30/100 Riyals"
Υπόθεση "Τριάντα ένα"
Halalas = " & 31/100 Riyals"
Υπόθεση "Τριάντα δύο"
Halalas = " & 32/100 Riyals"
Υπόθεση "Τριάντα τρία"
Halalas = " & 33/100 Riyals"
Υπόθεση "Τριάντα τέσσερα"
Halalas = " & 34/100 Riyals"
Υπόθεση «Τριάντα πέντε»
Halalas = " & 35/100 Riyals"
Υπόθεση «Τριάντα Έξι»
Halalas = " & 36/100 Riyals"
Υπόθεση "Τριάντα επτά"
Halalas = " & 37/100 Riyals"
Υπόθεση "Τριάντα οκτώ"
Halalas = " & 38/100 Riyals"
Υπόθεση "Τριάντα εννέα"
Halalas = " & 39/100 Riyals"
Υπόθεση "Σαράντα"
Halalas = " & 40/100 Riyals"
Υπόθεση "Σαράντα Ένα"
Halalas = " & 41/100 Riyals"
Υπόθεση "Σαράντα δύο"
Halalas = " & 42/100 Riyals"
Υπόθεση "Σαράντα τρία"
Halalas = " & 43/100 Riyals"
Υπόθεση "Σαράντα τέσσερα"
Halalas = " & 44/100 Riyals"
Υπόθεση "Σαράντα πέντε"
Halalas = " & 45/100 Riyals"
Υπόθεση "Σαράντα Έξι"
Halalas = " & 46/100 Riyals"
Υπόθεση "Σαράντα επτά"
Halalas = " & 47/100 Riyals"
Υπόθεση "Σαράντα οκτώ"
Halalas = " & 48/100 Riyals"
Υπόθεση "Σαράντα εννέα"
Halalas = " & 49/100 Riyals"
Υπόθεση "Πενήντα"
Halalas = " & 50/100 Riyals"
Υπόθεση "Fifty One"
Halalas = " & 51/100 Riyals"
Υπόθεση "Fifty Two"
Halalas = " & 52/100 Riyals"
Υπόθεση "Πενήντα τρία"
Halalas = " & 53/100 Riyals"
Υπόθεση "Fifty Four"
Halalas = " & 54/100 Riyals"
Υπόθεση "Fifty Five"
Halalas = " & 55/100 Riyals"
Υπόθεση "Fifty Six"
Halalas = " & 56/100 Riyals"
Υπόθεση "Fifty Seven"
Halalas = " & 57/100 Riyals"
Υπόθεση "Πενήντα οκτώ"
Halalas = " & 58/100 Riyals"
Υπόθεση "Fifty Nine"
Halalas = " & 59/100 Riyals"
Υπόθεση "Εξήντα"
Halalas = " & 60/100 Riyals"
Υπόθεση "Sixty One"
Halalas = " & 61/100 Riyals"
Υπόθεση "εξήντα δύο"
Halalas = " & 62/100 Riyals"
Υπόθεση "εξήντα τρία"
Halalas = " & 63/100 Riyals"
Υπόθεση "εξήντα τέσσερα"
Halalas = " & 64/100 Riyals"
Υπόθεση "Εξήντα Πέντε"
Halalas = " & 65/100 Riyals"
Υπόθεση "Sixty Six"
Halalas = " & 66/100 Riyals"
Υπόθεση "Εξήντα επτά"
Halalas = " & 67/100 Riyals"
Υπόθεση "Εξήντα οκτώ"
Halalas = " & 68/100 Riyals"
Υπόθεση "Sixty Nine"
Halalas = " & 69/100 Riyals"
Υπόθεση "Εβδομήντα"
Halalas = " & 70/100 Riyals"
Υπόθεση "εβδομήντα ένα"
Halalas = " & 71/100 Riyals"
Υπόθεση "Εβδομήντα δύο"
Halalas = " & 72/100 Riyals"
Υπόθεση "εβδομήντα τρία"
Halalas = " & 73/100 Riyals"
Υπόθεση "Εβδομήντα τέσσερα"
Halalas = " & 74/100 Riyals"
Υπόθεση "Εβδομήντα πέντε"
Halalas = " & 75/100 Riyals"
Υπόθεση "Εβδομήντα Έξι"
Halalas = " & 76/100 Riyals"
Υπόθεση "Εβδομήντα επτά"
Halalas = " & 77/100 Riyals"
Υπόθεση "Εβδομήντα οκτώ"
Halalas = " & 78/100 Riyals"
Υπόθεση "Εβδομήντα εννέα"
Halalas = " & 79/100 Riyals"
Υπόθεση "ογδόντα"
Halalas = " & 80/100 Riyals"
Υπόθεση "ογδόντα ένα"
Halalas = " & 81/100 Riyals"
Υπόθεση "ογδόντα δύο"
Halalas = " & 82/100 Riyals"
Υπόθεση «ογδόντα τρία»
Halalas = " & 83/100 Riyals"
Υπόθεση "ογδόντα τέσσερα"
Halalas = " & 84/100 Riyals"
Υπόθεση «ογδόντα πέντε»
Halalas = " & 85/100 Riyals"
Υπόθεση "ογδόντα έξι"
Halalas = " & 86/100 Riyals"
Υπόθεση "ογδόντα επτά"
Halalas = " & 87/100 Riyals"
Υπόθεση "ογδόντα οκτώ"
Halalas = " & 88/100 Riyals"
Υπόθεση "ογδόντα εννέα"
Halalas = " & 89/100 Riyals"
Υπόθεση "Ενενήντα"
Halalas = " & 90/100 Riyals"
Υπόθεση "Ενενήντα Ένα"
Halalas = " & 91/100 Riyals"
Υπόθεση "Ενενήντα δύο"
Halalas = " & 92/100 Riyals"
Υπόθεση "Ενενήντα τρία"
Halalas = " & 93/100 Riyals"
Υπόθεση "Ενενήντα Τέσσερα"
Halalas = " & 94/100 Riyals"
Υπόθεση "Ενενήντα Πέντε"
Halalas = " & 95/100 Riyals"
Υπόθεση "Ενενήντα Έξι"
Halalas = " & 96/100 Riyals"
Υπόθεση "Ενενήντα Επτά"
Halalas = " & 97/100 Riyals"
Υπόθεση "Ενενήντα οκτώ"
Halalas = " & 98/100 Riyals"
Υπόθεση "Ενενήντα εννέα"
Halalas = " & 99/100 Riyals"


Υπόθεση άλλο
Halalas = " & " & Halalas & " Halalas "
Επιλέξτε Τερματισμός
SpellBilling = Riyals & Halalas
Τέλος Λειτουργία


Μετατρέπει έναν αριθμό από το 100-999 σε κείμενο
Συνάρτηση GetHundreds (ByVal MyNumber)
Αχνό αποτέλεσμα ως συμβολοσειρά
Αν Val(MyNumber) = 0 Τότε Έξοδος από τη Συνάρτηση
MyNumber = Δεξιά ("000" & MyNumber, 3)
Μετατρέψτε το μέρος των εκατοντάδων.
Αν Mid(MyNumber, 1, 1) <> "0" Τότε
Αποτέλεσμα = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
Μετατρέψτε τις δεκάδες και τις θέσεις των μονάδων.
Αν Mid(MyNumber, 2, 1) <> "0" Τότε
Αποτέλεσμα = Αποτέλεσμα & GetTens(Mid(MyNumber, 2))
Αλλού
Αποτέλεσμα = Αποτέλεσμα & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Αποτέλεσμα
Τέλος Λειτουργία

Μετατρέπει έναν αριθμό από το 10 στο 99 σε κείμενο.
Συνάρτηση GetTens (TensText)
Αχνό αποτέλεσμα ως συμβολοσειρά
Αποτέλεσμα = "" ' Ακυρώστε την τιμή της προσωρινής συνάρτησης.
Αν Val(Left(TensText, 1)) = 1 Τότε ' Αν τιμή μεταξύ 10-19...
Επιλέξτε Case Val (TensText)
Περίπτωση 10: Αποτέλεσμα = "Δέκα"
Περίπτωση 11: Αποτέλεσμα = "Έντεκα"
Περίπτωση 12: Αποτέλεσμα = "Δώδεκα"
Περίπτωση 13: Αποτέλεσμα = "Δεκατρία"
Περίπτωση 14: Αποτέλεσμα = "Δεκατέσσερα"
Περίπτωση 15: Αποτέλεσμα = "Δεκαπέντε"
Περίπτωση 16: Αποτέλεσμα = "Δεκαέξι"
Περίπτωση 17: Αποτέλεσμα = "Δεκαεπτά"
Περίπτωση 18: Αποτέλεσμα = "Δεκαοχτώ"
Περίπτωση 19: Αποτέλεσμα = "Δεκαεννέα"
Υπόθεση άλλο
Επιλέξτε Τερματισμός
Διαφορετικά 'Εάν τιμή μεταξύ 20-99...
Επιλέξτε Case Val(Left(TensText, 1))
Περίπτωση 2: Αποτέλεσμα = "Είκοσι"
Περίπτωση 3: Αποτέλεσμα = "Τριάντα"
Περίπτωση 4: Αποτέλεσμα = "Σαράντα"
Περίπτωση 5: Αποτέλεσμα = "Πενήντα"
Περίπτωση 6: Αποτέλεσμα = "Εξήντα"
Περίπτωση 7: Αποτέλεσμα = "Εβδομήντα"
Περίπτωση 8: Αποτέλεσμα = "Ογδόντα"
Περίπτωση 9: Αποτέλεσμα = "Ενενήντα"
Υπόθεση άλλο
Επιλέξτε Τερματισμός
Αποτέλεσμα = Αποτέλεσμα & GetDigit _
(Δεξιά(TensText, 1)) ' Ανάκτηση θέσης.
End If
GetTens = Αποτέλεσμα
Τέλος Λειτουργία

Μετατρέπει έναν αριθμό από το 1 στο 9 σε κείμενο.
Συνάρτηση GetDigit(Digit)
Επιλέξτε Case Val(Digit)
Περίπτωση 1: GetDigit = "Ένα"
Περίπτωση 2: GetDigit = "Δύο"
Περίπτωση 3: GetDigit = "Three"
Περίπτωση 4: GetDigit = "Τέσσερα"
Περίπτωση 5: GetDigit = "Πέντε"
Περίπτωση 6: GetDigit = "Έξι"
Περίπτωση 7: GetDigit = "Επτά"
Περίπτωση 8: GetDigit = "Οκτώ"
Περίπτωση 9: GetDigit = "Εννέα"
Άλλη περίπτωση: GetDigit = ""
Επιλέξτε Τερματισμός
Τέλος Λειτουργία
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Πρέπει να εφαρμόσω όλο το βιβλίο εργασίας του Excel. Πώς να εφαρμόσετε αυτήν την κωδικοποίηση σε όλα τα βιβλία εργασίας του excel.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ρουπίες Δεκατέσσερις χιλιάδες Οκτακόσιες, Εβδομήντα πέντε Μόνο το τελευταίο ποσό πρέπει να έχει τη λέξη και παράδειγμα
Ρουπίες Δεκατέσσερις χιλιάδες Οκτακόσιες Εβδομήντα Πέντε μόνο
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
δεν μπορώ να διαβάσω περισσότερα από 10 crore.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
One Lac Sixty Nine Thousand Eighty One and Forty Two Paise - Δεν μετατράπηκε σωστά. Επίσης δεν μετατράπηκε ο παραπάνω αριθμός όταν στρογγυλοποιηθεί.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
ΕΥΧΑΡΙΣΤΩ ΓΙΑ ΤΟΝ ΚΩΔΙΚΟ...
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Ευχαριστώ για την κωδικοποίηση. Έκανα αίτηση & λειτουργεί. Αλλά ισχύει μόνο για το συγκεκριμένο βιβλίο εργασίας μόνο. Πρέπει να εφαρμόσω όλο το βιβλίο εργασίας του Excel. Πώς να εφαρμόσετε αυτήν την κωδικοποίηση σε όλα τα βιβλία εργασίας του excel.
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, SivaG
Ναι, αυτός ο κωδικός είναι Λειτουργία Καθορισμένη από το Χρήστη, θα πρέπει να εφαρμόσετε τον τύπο στα αρχεία ένα προς ένα, εάν χρειάζεστε έναν κωδικό για εφαρμογή σε πολλά βιβλία εργασίας, θα εφαρμοστεί σε όλους τους αριθμούς, επομένως όλοι οι αριθμοί θα αλλάξουν. Και ο κώδικας δεν μπορεί να υποστηρίξει την αναίρεση, υπάρχουν ορισμένοι κίνδυνοι ασφαλείας. Δεν συνιστάται να το κάνετε αυτό. Ευχαριστώ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Πώς μπορείτε να αφαιρέσετε τη λέξη "Ρουπίες"; Κανονικά, τα φύλλα ελέγχου έχουν ήδη τη λέξη "Ρουπίες".
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, Sakariya
Για να λύσετε το πρόβλημά σας, εφαρμόστε τον παρακάτω κώδικα:
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 ή όχι;
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, Mukesh

Ναι, εφόσον ο κώδικας αντιγράφεται στη μονάδα παραθύρου vba, ο τύπος μπορεί να εφαρμοστεί σε ολόκληρο το βιβλίο εργασίας.
Αλλά όταν κλείνετε το βιβλίο εργασίας, θα πρέπει να το αποθηκεύσετε ως Βιβλίο εργασίας Excel με δυνατότητα μακροεντολής μορφή αρχείου.
Παρακαλώ δοκιμάστε, σας ευχαριστώ!
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Δοκίμασε πολλές φορές δεν λειτουργεί. Παρακαλώ βοηθήστε
Αυτό το σχόλιο ελαχιστοποιήθηκε από τον συντονιστή του ιστότοπου
Γεια σου, μεγάλη βοήθεια! Ευχαριστούμε που δημιουργήσατε έναν τόσο υπέροχο κώδικα.

Έχει εξοικονομήσει πολύ χρόνο. "Ο Θεός να σε ευλογεί!!"
Δεν υπάρχουν σχόλια δημοσιεύτηκε ακόμα
Αφήστε τα σχόλιά σας
Δημοσίευση ως επισκέπτης
×
Αξιολογήστε αυτήν την ανάρτηση:
0   Χαρακτήρες
Προτεινόμενες τοποθεσίες

Ακολουθησε μας

Πνευματικά δικαιώματα © 2009 - www.extendoffice.com. | Ολα τα δικαιώματα διατηρούνται. Τροφοδοτείται από ExtendOffice. | Sitemap
Το Microsoft και το λογότυπο του Office είναι εμπορικά σήματα ή σήματα κατατεθέντα της Microsoft Corporation στις Ηνωμένες Πολιτείες ή / και σε άλλες χώρες.
Προστατεύεται από το Sectigo SSL