Hävinneet etunollat voidaan lisätä jälkikäteen helposti myös makroja käyttäen.
Ohessa esimerkki postinumeroista.
Olen jakanut toiminnon kahtia:
1. SUB-toimintosarja:
KorjaaPnro käy läpi valitun alueen FOR EACH … NEXT silmukassa ja kutsuu
2. Function-toimintosarjaa:
LisääEtuNollat, joka taas lisää tarvittavat etunollat sille annettuun merkkijonoon ja palauttaa korjatun postinumeron sitä kutsuvalle SUB-toimintosarjalle.
Sub KorjaaPnro() 'valitaan ensin alue ja käynnistetään sen jälkeen makro Dim rngS As Range For Each rngS In Selection 'muotoillaan solu tekstiksi rngS.NumberFormat = "@" 'kuts.funkt.joka lisää tarvittavat 'etunollat rngS = LisääEtuNollat(rngS.Value) Next End Sub
Function LisääEtuNollat(PNro As String) As String
'funktion tarkistaa sille annetun merkkijonon pituuden Len -funktiolla
'tämän jälkeen piituudesta riippuen lisätään etunollat
'nollien lisäämisessä voidaan myös käyttää muotoa "'0000", eli heitto merkki 'ensimmäiseksi
Select Case (Len(PNro))
Case 1
LisääEtuNollat = "0000" & PNro
Case 2
LisääEtuNollat = "000" & PNro
Case 3
LisääEtuNollat = "00" & PNro
Case 4
LisääEtuNollat = "0" & PNro
Case Else
LisääEtuNollat = PNro
End Select
End Function