Som du vet, utfører en VBA-metode en handling i Excel 2016. Et Range-objekt har dusinvis av metoder, men du trenger ikke de fleste av disse. Her finner du noen av de mest brukte Range-objektmetodene.
Velg-metoden
Bruk Velg-metoden for å velge et celleområde. Følgende setning velger et område i det aktive regnearket:
Range(“A1:C12”). Velg
Før du velger et område, er det ofte en god idé å bruke én ekstra setning for å sikre at det riktige regnearket er aktivt. For eksempel, hvis Ark1 inneholder området du vil velge, bruker du følgende utsagn for å velge området:
Ark(“Ark1”). Aktiver
Range(“A1:C12”). Velg
I motsetning til hva du kan forvente, genererer følgende setning en feil hvis Ark1 ikke allerede er det aktive arket. Med andre ord, du må bruke to utsagn i stedet for bare én: en for å aktivere arket og en annen for å velge området.
Ark(“Ark1”). Område(“A1:C12”). Velg
Hvis du bruker GoTo-metoden til Application-objektet for å velge et område, kan du glemme å velge riktig regneark først. Denne setningen aktiverer Ark1 og velger deretter området:
Application.Goto Sheets(“Sheet1”). Range(“A1:C12”)
GoTo-metoden er VBA-ekvivalenten med å trykke F5 i Excel, som viser GoTo-dialogboksen.
Kopier og lim inn metodene
Du kan utføre kopierings- og limoperasjoner i VBA ved å bruke kopierings- og limmetodene. Merk at to forskjellige objekter spiller inn. Kopier-metoden gjelder for Range-objektet, men Paste-metoden gjelder for Worksheet-objektet. Det er faktisk fornuftig: Du kopierer et område og limer det inn i et regneark.
Denne korte makroen (med tillatelse fra makroopptakeren) kopierer området A1:A12 og limer det inn i det samme regnearket, som begynner på celle C1:
Sub CopyRange()
Range(“A1:A12”). Velg
Utvalg.Kopi
Range(“C1”). Velg
ActiveSheet.Paste
End Sub
Legg merke til at i det foregående eksempelet brukes ActiveSheet-objektet med Paste-metoden. Dette er en spesialversjon av regnearkobjektet som refererer til det aktive regnearket. Legg også merke til at makroen velger området før det kopieres. Du trenger imidlertid ikke velge et område før du gjør noe med det. Faktisk utfører følgende prosedyre den samme oppgaven som det foregående eksempelet ved å bruke en enkelt setning:
Sub CopyRange2()
Range(“A1:A12”). Kopier område(“C1”)
End Sub
Denne prosedyren utnytter det faktum at kopieringsmetoden kan bruke et argument som tilsvarer målområdet for kopieringsoperasjonen. Det er noe du kan finne ut ved å sjekke med hjelpesystemet.
Clear-metoden
Slett-metoden sletter innholdet i et område, pluss all celleformatering. For eksempel, hvis du vil zappe alt i kolonne D, gjør følgende utsagn susen:
Kolonner(“D:D”). Tøm
Du bør være klar over to relaterte metoder. ClearContents-metoden sletter innholdet i området, men lar formateringen være intakt. ClearFormats-metoden sletter formateringen i området, men ikke celleinnholdet.
Slettmetoden
Å slette et område er forskjellig fra å slette et område. Når du sletter et område, flytter Excel de resterende cellene rundt for å fylle opp området du slettet.
Følgende eksempel bruker Slett-metoden for å slette rad 6:
Rader(“6:6”).Slett
Når du sletter et område som ikke er en komplett rad eller kolonne, må Excel vite hvordan cellene skal flyttes. (For å se hvordan dette fungerer, eksperimentere med Excels Hjem → Celler → Slett → Slett celler-kommandoen.)
Følgende setning sletter et område og fyller deretter det resulterende gapet ved å flytte de andre cellene til venstre:
Range(“C6:C10”).Slett xlToLeft
Slettmetoden bruker et argument som indikerer hvordan Excel skal flytte de gjenværende cellene. I dette tilfellet brukes en innebygd konstant (xlToLeft) for argumentet. Du kan også bruke xlUp, en annen kalt konstant.