Som du ved, udfører en VBA-metode en handling i Excel 2016. Et Range-objekt har snesevis af metoder, men du har ikke brug for de fleste af disse. Her finder du nogle af de mest brugte Range-objektmetoder.
Vælg metoden
Brug metoden Vælg til at vælge et celleområde. Følgende sætning vælger et område i det aktive regneark:
Range(“A1:C12”). Vælg
Før du vælger et område, er det ofte en god idé at bruge en ekstra sætning for at sikre, at det korrekte regneark er aktivt. For eksempel, hvis Ark1 indeholder det område, du vil vælge, skal du bruge følgende udsagn til at vælge området:
Sheets(“Sheet1”).Aktivér
Range(“A1:C12”). Vælg
I modsætning til hvad du måske forventer, genererer følgende sætning en fejl, hvis Ark1 ikke allerede er det aktive ark. Med andre ord skal du bruge to udsagn i stedet for kun én: en til at aktivere arket og en anden til at vælge området.
Sheets(“Sheet1”).Range(“A1:C12”).Vælg
Hvis du bruger GoTo-metoden for Application-objektet til at vælge et område, kan du glemme at vælge det korrekte regneark først. Denne erklæring aktiverer Ark1 og vælger derefter området:
Application.Goto Sheets(“Sheet1”).Range(“A1:C12”)
GoTo-metoden er VBA-ækvivalenten til at trykke på F5 i Excel, som viser GoTo-dialogboksen.
Kopier og indsæt metoder
Du kan udføre kopierings- og indsæthandlinger i VBA ved at bruge kopierings- og indsætmetoderne. Bemærk, at to forskellige objekter spiller ind. Kopier-metoden kan anvendes til Range-objektet, men Paste-metoden gælder for Worksheet-objektet. Det giver faktisk mening: Du kopierer et område og indsætter det i et regneark.
Denne korte makro (med tilladelse fra makrooptageren) kopierer området A1:A12 og indsætter det i det samme regneark, begyndende ved celle C1:
Sub CopyRange()
Range(“A1:A12”). Vælg
Valg.Kopi
Range(“C1”).Vælg
ActiveSheet.Paste
Slut Sub
Bemærk, at i det foregående eksempel bruges ActiveSheet-objektet med Paste-metoden. Dette er en speciel version af Worksheet-objektet, der refererer til det aktuelt aktive regneark. Bemærk også, at makroen vælger området, før det kopieres. Du behøver dog ikke vælge et område, før du gør noget med det. Faktisk udfører følgende procedure den samme opgave som det foregående eksempel ved at bruge en enkelt sætning:
Sub CopyRange2()
Range(“A1:A12”). Kopier område(“C1”)
Slut Sub
Denne procedure udnytter det faktum, at kopieringsmetoden kan bruge et argument, der svarer til destinationsområdet for kopieringsoperationen. Det er noget, du kan finde ud af ved at tjekke med hjælpesystemet.
Clear-metoden
Ryd-metoden sletter indholdet af et område plus al celleformatering. For eksempel, hvis du vil zappe alt i kolonne D, gør følgende udsagn tricket:
Kolonner ("D:D"). Ryd
Du bør være opmærksom på to relaterede metoder. ClearContents-metoden sletter indholdet af området, men efterlader formateringen intakt. ClearFormats-metoden sletter formateringen i området, men ikke celleindholdet.
Metoden Slet
Sletning af et område adskiller sig fra at slette et område. Når du sletter et område, flytter Excel de resterende celler rundt for at fylde det område, du slettede.
Følgende eksempel bruger Slet-metoden til at slette række 6:
Rækker(“6:6”). Slet
Når du sletter et område, der ikke er en komplet række eller kolonne, skal Excel vide, hvordan cellerne flyttes. (For at se, hvordan dette virker, skal du eksperimentere med Excels Hjem → Celler → Slet → Slet celler-kommandoen.)
Følgende sætning sletter et område og udfylder derefter det resulterende hul ved at flytte de andre celler til venstre:
Range(“C6:C10”).Slet xlToLeft
Metoden Slet bruger et argument, der angiver, hvordan Excel skal flytte de resterende celler. I dette tilfælde bruges en indbygget konstant (xlToLeft) til argumentet. Du kan også bruge xlUp, en anden kaldet konstant.