TOP

Summe, Zahlen, auf Ukrainisch geschriebene Zahl in Excel

Beschreibung

Sehr oft kommt es vor, dass wir eine Anzeige benötigen Zahlen auf Ukrainisch in Excel geschrieben . Zeigen Sie beispielsweise die Anzahl der Seiten im Dokument schriftlich an – die Zahl „27“ als "Двадцять сім".

Aus buchhalterischen Gründen müssen die Kosten einer Handelstransaktion außerdem in Worten angegeben werden. Beispielsweise sollte die Summe von 10.568,23 schriftlich als angezeigt werden "Десять тисяч п'ятсот шістдесят вісім грн. 23 коп.", also notwendig Summe in ukrainischer Sprache , aber Excel hat für solche Zwecke keine Standardfunktion.


VBA Code für Funktion SUMINWORDS

Nachfolgend finden Sie eine vorgefertigte Funktion auf VBA, die jede Zahl in ihre Textdarstellung in der ukrainischen Sprache, also in eine geschriebene Zahl, übersetzt. Diese Funktion muss vor der Verwendung zu Ihrem Buch hinzugefügt werden.

Dafür:

  1. Drücken Sie ALT+F11, um den Editor Visual Basic zu öffnen
  2. Fügen Sie ein neues leeres Modul hinzu über das Menü Insert - Module
  3. Kopieren Sie den Text dieser Funktion und fügen Sie ihn dort ein:
Function SUMINWORDS(n As Double, curr As Variant, kop As Variant) As String
 'moonexcel.com.ua 
 Dim Nums1, Nums2, Nums3, Nums4 As Variant
 
 Nums0 = Array("", "одна ", "дві ", "три ", "чотири ", "п'ять ", "шість ", "сім ", "вісім ", "дев'ять ")
 Nums1 = Array("", "один ", "два ", "три ", "чотири ", "п'ять ", "шість ", "сім ", "вісім ", "дев'ять ")
 Nums2 = Array("", "десять ", "двадцять ", "тридцять ", "сорок ", "п'ятдесят ", "шістдесят ", "сімдесят ", _
                        "вісімдесят ", "дев'яносто ")
 Nums3 = Array("", "сто ", "двісті ", "триста ", "чотириста ", "п'ятсот ", "шістсот ", "сімсот ", _
                        "вісімсот ", "дев'ятсот ")
 Nums4 = Array("", "одна ", "дві ", "три ", "чотири ", "п'ять ", "шість ", "сім ", "вісім ", "дев'ять ")
 Nums5 = Array("десять ", "одинадцять ", "дванадцять ", "тринадцять ", "чотирнадцять ", _
                        "п'ятнадцять ", "шістнадцять ", "сімнадцять ", "вісімнадцять ", "дев'ятнадцять ")
  
 If n < 1 Then
   SUMINWORDS = "Нуль " & curr & " " & Round((n - Fix(n)) * 100) & " " & kop
   
If curr = "" Then
   SUMINWORDS = "Нуль"
End If
      
   Exit Function
 End If
 'Wir teilen die Zahl mit der Hilfsfunktion Klasse in Ziffern auf 
 ed     = Class(n, 1)
 dec    = Class(n, 2)
 sot    = Class(n, 3)
 tys    = Class(n, 4)
 dectys = Class(n, 5)
 sottys = Class(n, 6)
 mil    = Class(n, 7)
 decmil = Class(n, 8)
 sotmil = Class(n, 9)
 bil    = Class(n, 10)
   
 'Milliarden prüfen 
 Select Case bil
    Case 1
      bil_txt = Nums1(bil) & "мільярд "
    Case 2 To 4
      bil_txt = Nums1(bil) & "мільярди "
    Case 5 To 9
      bil_txt = Nums1(bil) & "мільярдів "
 End Select
   
 'Millionen prüfen 
 Select Case sotmil
   Case 1 To 9
     sotmil_txt = Nums3(sotmil)
 End Select
  
 Select Case decmil
   Case 1
     mil_txt = Nums5(mil) & "мільйонів "
     GoTo www
   Case 2 To 9
     decmil_txt = Nums2(decmil)
 End Select
 
 Select Case mil
   Case 0
     If decmil > 0 Then mil_txt = Nums4(mil) & "мільйонів "
   Case 1
     mil_txt = Nums1(mil) & "мільйон "
   Case 2, 3, 4
     mil_txt = Nums1(mil) & "мільйона "
   Case 5 To 9
     mil_txt = Nums1(mil) & "мільйонів "
 End Select
 
 If decmil = 0 And mil = 0 And sotmil <> 0 Then sotmil_txt = sotmil_txt & "мільйонів "
 
www:
 sottys_txt = Nums3(sottys)
 
 'Wir prüfen Tausende 
 Select Case dectys
   Case 1
     tys_txt = Nums5(tys) & "тисяч "
     GoTo eee
   Case 2 To 9
     dectys_txt = Nums2(dectys)
 End Select
 
 Select Case tys
   Case 0
     If dectys > 0 Then tys_txt = Nums4(tys) & "тисяч "
   Case 1
     tys_txt = Nums4(tys) & "тисячa "
   Case 2, 3, 4
     tys_txt = Nums4(tys) & "тисячі "
   Case 5 To 9
     tys_txt = Nums4(tys) & "тисяч "
 End Select
 
 If dectys = 0 And tys = 0 And sottys <> 0 Then sottys_txt = sottys_txt & " тисяч "
 
eee:
 sot_txt = Nums3(sot)
 
 'Wir prüfen Dutzende 
 Select Case dec
   Case 1
     ed_txt = Nums5(ed)
     GoTo rrr
   Case 2 To 9
     dec_txt = Nums2(dec)
 End Select
  
 ed_txt = Nums0(ed)

rrr:
 'bilden die letzte Zeile 
 SUMINWORDS = bil_txt & sotmil_txt & decmil_txt & mil_txt & sottys_txt & dectys_txt _
 & tys_txt & sot_txt & dec_txt & ed_txt & curr & " " & Round((n - Fix(n)) * 100) & " " & kop

 If curr = "" Then
   SUMINWORDS = bil_txt & sotmil_txt & decmil_txt & mil_txt & sottys_txt & dectys_txt _
 & tys_txt & sot_txt & dec_txt & ed_txt
 End If
 
 SUMINWORDS = UCase(Mid(SUMINWORDS, 1, 1)) + Mid(SUMINWORDS, 2)
 
End Function
  
 'Hilfsfunktion zur Auswahl aus der Anzahl der Ziffern 
Private Function Class(M, I)
  Class = Int(Int(M - (10 ^ I) * Int(M / (10 ^ I))) / 10 ^ (I - 1))
End Function

Speichern Sie die Datei und kehren Sie zu Excel zurück.

Verwendung der Funktion

Jetzt können Sie die erstellte Funktion wie gewohnt in eine beliebige Zelle des Blattes dieses Buches einfügen – über den Funktionsassistenten (Schaltfläche). in der Bearbeitungsleiste, Kategorie Benutzerdefiniert) oder indem Sie es einfach manuell in die Zelle eingeben und die Zelle mit der Summe als Argument angeben. Außerdem können Sie in den Funktionsparametern den Namen der Währung (Hryvnia, Dollar, Euro...) und den Namen der Hundertstel (Pennies, Cent...) angeben:

=SUMINWORDS(text; Währung; Hunderter)

Wenn im Parameter "Währung" Setzen Sie leere doppelte Anführungszeichen (""), dann wird die Summe schriftlich als ganze Zahl ausgegeben:

Artikel zum Thema: