Monthly Archives: November 2013

Etunollien lisääminen makrojen avulla

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