We gebruiken in deze functie een range parameter, een verwijzing naar een cel 'waar we iets mee gaan doen'.
Opdracht: Excel heeft een formule om getallen op te vullen, de formule tekst(), =TEKST(A1;"000") geeft dan als resultaat als er 2 in cel A1 staat 002.
Willen we 200 of A000 dan moeten we op een andere manier te werk gaan, waarschijnlijk is er binnen Excel (een combinatie van) functies om dit te bewerkstelligen maar op het moment dat ik een dergelijke functie nodig had ben ik hem gaan bouwen:
Opdracht: Maak een formule met de volgende parameter: een cel als input, het karakter op waar je mee wilt op- / uitvullen, de gewenste lengte en de kant waar je hem op wilt vullen (links / rechts).
- Toets ALT-F11
- Kies Invoegen Module
- Plak de volgende code:
Dim TmpString As String
Dim TmpChar As String
Dim i As IntegerTmpString = DoelCel.Value 'Basiswaarden vullen
i = 1If Len(TmpString) = 0 Then 'Geen celwaarde dan gelijk uit functie gaan
Opvullen = ""
End IfIf Len(TmpString) < OpvulLengte Then
If OpvulRichting = 0 Then '0 = links
For i = Len(TmpString) To OpvulLengte - 1 'i is 1 tot lengte - 1
TmpChar = TmpChar & OpvullenMet
Next i
TmpString = TmpChar & TmpString
ElseIf OpvulRichting = 1 Then '1 = rechts
For i = Len(TmpString) To OpvulLengte - 1
TmpChar = TmpChar & OpvullenMet
Next i
TmpString = TmpString & TmpChar
End If
End IfOpvullen = TmpStringEnd Function
Als we nu in cel A1 een A zetten dan krijgen we met de formule =Opvullen(A1;0;10;1)
A000000000
Deze functie kun je heel gemakkelijk verbouwen om zelf een bewerking op een cel waarde uit te voeren!