• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bedrag uitschrijven in tekst (Engels)

Status
Niet open voor verdere reacties.

inekekramer

Gebruiker
Lid geworden
3 feb 2012
Berichten
13
Is er een formule om een bedrag uit te schrijven in een Engelse tekst? Bijvoorbeeld

€44.649,00 wordt dan in een andere cel: Forty-four thousand six hundred and forty-nine euros
 
Lijkt me vrij complex, dus ik heb even ChatGPT aan het werk gezet. Uiteraard met voordeurgarantie:

Je kunt een VBA-macro schrijven om dit te doen. Hier is een voorbeeld van hoe je dit kunt doen:
  1. Open Excel en druk op Alt + F11 om de Visual Basic Editor te openen.
  2. Klik op "Insert" en kies "Module" om een nieuw modulevenster te openen.
  3. Plak de volgende code in het modulevenster:
Code:
Function ConvertToWords(ByVal MyNumber As Double) As String
    Dim Temp As String
    Dim Ones As Variant, Teens As Variant, Tens As Variant
   
    Ones = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
    Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    Tens = Array("", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
   
    ' Convert MyNumber to String
    MyNumber = Trim(Str(MyNumber))
   
    ' Check if negative
    If Left(MyNumber, 1) = "-" Then
        Temp = "Minus "
        MyNumber = Mid(MyNumber, 2)
    End If
   
    ' Extract dollars and cents
    If InStr(MyNumber, ".") Then
        Temp = Temp & ConvertToWords(Left(MyNumber, InStr(MyNumber, ".") - 1)) & " dollars and "
        MyNumber = Mid(MyNumber, InStr(MyNumber, ".") + 1)
    End If
   
    ' Convert millions
    If Len(MyNumber) > 6 Then
        Temp = Temp & ConvertToWords(Left(MyNumber, Len(MyNumber) - 6)) & " million "
        MyNumber = Mid(MyNumber, Len(MyNumber) - 5)
    End If
   
    ' Convert thousands
    If Len(MyNumber) > 3 Then
        Temp = Temp & ConvertToWords(Left(MyNumber, Len(MyNumber) - 3)) & " thousand "
        MyNumber = Mid(MyNumber, Len(MyNumber) - 2)
    End If
   
    ' Convert hundreds
    If Len(MyNumber) > 0 Then
        If Val(Left(MyNumber, 1)) <> 0 Then
            Temp = Temp & Ones(Val(Left(MyNumber, 1))) & " hundred "
            MyNumber = Mid(MyNumber, 2)
        End If
        If Len(MyNumber) > 0 Then
            If Val(MyNumber) < 20 Then
                Temp = Temp & Teens(Val(MyNumber))
            Else
                Temp = Temp & Tens(Val(Left(MyNumber, 1)))
                If Val(Right(MyNumber, 1)) <> 0 Then Temp = Temp & "-" & Ones(Val(Right(MyNumber, 1)))
            End If
        End If
    End If
   
    ConvertToWords = Temp
End Function

  1. Sluit de Visual Basic Editor.
  2. In de cel waarin je de tekst wilt weergeven, typ je de volgende formule: =ConvertToWords(A1) (waar A1 het celadres is waarin het bedrag staat dat je wilt converteren naar woorden).
Give it a try.
 
microsoft heeft zelf ook een uitleg voor een code


en hier op het forum moeten ook nog een paar voorbeelden rondzwerven.
 
Lijkt me vrij complex, dus ik heb even ChatGPT aan het werk gezet. Uiteraard met voordeurgarantie:

Je kunt een VBA-macro schrijven om dit te doen. Hier is een voorbeeld van hoe je dit kunt doen:
  1. Open Excel en druk op Alt + F11 om de Visual Basic Editor te openen.
  2. Klik op "Insert" en kies "Module" om een nieuw modulevenster te openen.
  3. Plak de volgende code in het modulevenster:
Code:
Function ConvertToWords(ByVal MyNumber As Double) As String
    Dim Temp As String
    Dim Ones As Variant, Teens As Variant, Tens As Variant
  
    Ones = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
    Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")
    Tens = Array("", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
  
    ' Convert MyNumber to String
    MyNumber = Trim(Str(MyNumber))
  
    ' Check if negative
    If Left(MyNumber, 1) = "-" Then
        Temp = "Minus "
        MyNumber = Mid(MyNumber, 2)
    End If
  
    ' Extract dollars and cents
    If InStr(MyNumber, ".") Then
        Temp = Temp & ConvertToWords(Left(MyNumber, InStr(MyNumber, ".") - 1)) & " dollars and "
        MyNumber = Mid(MyNumber, InStr(MyNumber, ".") + 1)
    End If
  
    ' Convert millions
    If Len(MyNumber) > 6 Then
        Temp = Temp & ConvertToWords(Left(MyNumber, Len(MyNumber) - 6)) & " million "
        MyNumber = Mid(MyNumber, Len(MyNumber) - 5)
    End If
  
    ' Convert thousands
    If Len(MyNumber) > 3 Then
        Temp = Temp & ConvertToWords(Left(MyNumber, Len(MyNumber) - 3)) & " thousand "
        MyNumber = Mid(MyNumber, Len(MyNumber) - 2)
    End If
  
    ' Convert hundreds
    If Len(MyNumber) > 0 Then
        If Val(Left(MyNumber, 1)) <> 0 Then
            Temp = Temp & Ones(Val(Left(MyNumber, 1))) & " hundred "
            MyNumber = Mid(MyNumber, 2)
        End If
        If Len(MyNumber) > 0 Then
            If Val(MyNumber) < 20 Then
                Temp = Temp & Teens(Val(MyNumber))
            Else
                Temp = Temp & Tens(Val(Left(MyNumber, 1)))
                If Val(Right(MyNumber, 1)) <> 0 Then Temp = Temp & "-" & Ones(Val(Right(MyNumber, 1)))
            End If
        End If
    End If
  
    ConvertToWords = Temp
End Function

  1. Sluit de Visual Basic Editor.
  2. In de cel waarin je de tekst wilt weergeven, typ je de volgende formule: =ConvertToWords(A1) (waar A1 het celadres is waarin het bedrag staat dat je wilt converteren naar woorden).
Give it a try.
Ik heb deze geprobeerd, maar ik krijg een #waarde!. Ik zie wel dat hij de formule =converttowords herkend, alleen nog niet helemaal het gewenste resultaat.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan