You must first complete Celler i ulike Ark before viewing this Lesson

I aktivitetene har vi så langt brukt standardnavnene på arkene som Ark1 og Ark2. Det er bedre å gi arkene et mer meningsfyllt navn. Det kan vi gjøre ved å endre kodenavnet til arket. La oss se på kodenavnet og hva dette er.

Når du ser på vinduet Project – VBAProject i editoren vil du se at at navnet Ark1 står både inne i og utenfor paranteser.

Ark1 utenfor parantesene er arkets kodenavn

Ark1 inne i parantesene er arknavnet. Det er det navnet du ser i arkfanen i Excel.

Kodenavnet har følgende attributter:

Vi kan bruke kodenavnet som direkte referanse til arket slik vi har gjørt inntil nå f.eks.

Ark1.Range(«A1»)

Vi kan kun bruke kodenavnet hvis arket er i samme arbeidsbok som VBA-koden.

Hvis arknavnet endres vil koden fremdeles virke hvis vi bruker kodenavnet som referanse til arket.

Arknavnet har følgende attributter:

For å referere til arket med arknavnet må vi bruke arbeidsbokens Worksheet Collection (du kan lese mer om dette her) f.eks.

ThisWorkbook.Worksheets(«Ark1»).Range(«A1»)

Hvis arknavnet endres så må vi endre navnet i koden. Hvis vi f.eks. endret navnet på arket fra Ark1 til Data må vi endre koden over til dette.

ThisWorkbook.Worksheets(«Data»).Range(«A1»)

Vi må endre kodenavnet i vinduet Properties. Arknavnet kan vi endre både fra fanen i Excel og i Properties.

I den neste aktiviteten skal vi endre kodenavnet til arket.

 Aktivitet 6

    1. Åpne en ny tom arbeidsbok og åpne editoren til Visual Basic.
    2. Klikk på Ark1 i vinduet Project – VBAProject (Ctrl + R hvis vinduet ikke er synlig)
    3. Gå ti vinduet Properties (F4 hvis vinduet ikke er synlig)
    4. Endre arkets kodenavn til shRapport.
    5. Opprett en ny modul og kall den modAkt6.
    6. Lag følgende Sub og kjør den (F5)

Sub BrukKodeNavn()

shRapport.Range(«A1») = 66

End Sub

    1. Legg til følgende Sub og kjør den (F5)

Sub BrukArkNavn()

ThisWorkbook.Worksheets(«Ark1»).Range(«B2») = 55

End Sub

    1. Celle A1 skal nå ha verdien 66 og celle B2 skal ha verdien 55.
    2. Endre navnet til arket (Ark1) i Excel til Rapport, høyreklikk på fanen (Ark1)  og gi nytt navn.
    3. Slett innholdet i cellene og kjør BrukKodeNavn igjen, det skjer sannsynligvis uten problemer.
    4. Kjør BrukArkNavn igjen. Nå vil du sannsynligvis få feilmeldingen “Subscript out of Range”. Denne meldingen betyr at det ikke finnes noen ark med navnet Ark1 i arbeidsboken. Kvitter på meldingen med End.
    5. Endre koden til det som står under og kjør BrukArkNavn igjen. Koden vil nå sannsynlivis kjøres uten feilmelding.

Sub BrukArkNavn()

ThisWorkbook.Worksheets(«Rapport»).Range(«B2») = 55

End Sub

Vinduet Project – VBAProject (Ctrl + R hvis vinduet ikke er synlig) bør ligne på dette etter aktivitet 6.

Back to: Det Ultimate VBA Kurset Del 1