• 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.

Romeinse cijfers

  • Onderwerp starter Onderwerp starter ludo
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ludo

Gebruiker
Lid geworden
7 okt 2004
Berichten
6
In Excel Office XP bestaat de mogelijkheid om een getal met Arabische cijfers om te zetten naar Romeinse cijfers. Kent er iemand een oplossing om het omgekeerde te doen ?
 
Is wel in het Duits

Vraagt eerst voor instal
Links van Bestand wordt "Tools-Bert" geinstalleerd
Ga daarna naar "arabisch nach romisch" hier kun je wisselen tussen de twee.



Pierre
 
Laatst bewerkt:
Hoi,

Je zou deze UDF (zelfgemaakte functie) kunnen gebruiken:

Function ARABISCH(Rng As Range) As Integer
Application.Volatile
Dim i As Integer
Dim iGetal As Integer
For i = 1 To Len(Rng.Value)
Select Case Mid(Rng.Value, i, 1)
Case "M"
If iGetal Mod 1000 <> 0 Then
iGetal = (1000 * (Int(iGetal / 1000) + 1)) - iGetal Mod 1000
Else
iGetal = iGetal + 1000
End If
Case "D"
If iGetal Mod 500 <> 0 Then
iGetal = (500 * (Int(iGetal / 500) + 1)) - iGetal Mod 500
Else
iGetal = iGetal + 500
End If
Case "C"
If iGetal Mod 100 <> 0 Then
iGetal = (100 * (Int(iGetal / 100) + 1)) - iGetal Mod 100
Else
iGetal = iGetal + 100
End If
Case "L"
If iGetal Mod 50 <> 0 Then
iGetal = (50 * (Int(iGetal / 50) + 1)) - iGetal Mod 50
Else
iGetal = iGetal + 50
End If
Case "X"
If iGetal Mod 10 <> 0 Then
iGetal = (10 * (Int(iGetal / 10) + 1)) - iGetal Mod 10
Else
iGetal = iGetal + 10
End If
Case "V"
If iGetal Mod 5 <> 0 Then
iGetal = (5 * (Int(iGetal / 5) + 1)) - iGetal Mod 5
Else
iGetal = iGetal + 5
End If
Case "I"
iGetal = iGetal + 1
End Select
Next
ARABISCH = iGetal
End Function

Opgelet: Dit zet Romeinse cijfers wel om naar Arabische, maar controleert niet op de juistheid.

Indien je bijvoorbeeld dit invoert:

XXIX dan krijg je correct 29

Maar indien je dit zou invoeren:
IXXX dan krijg je ook een antwoord... maar vermoedelijk niet hetgeen jij verwacht.

Logisch... dit getal bestaat niet in romeinse cijfers.

Luc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan