VBA Med / Avslutt med erklæring

Denne artikkelen vil demonstrere hvordan du bruker With and End With i VBA

Excel gir oss muligheten til å lære VBA ved å spille inn makroer. Disse makroene registrerer bokstavelig talt alt vi gjør på skjermen og konverterer handlingene til VBA -kode. Vi kan deretter analysere denne koden og lære av den.

Når vi spiller inn en makro i VBA, mest viktig når vi endrer formatet på celler, vil makroen oftere enn ikke bruke With … End With Syntax i opptaket. Å forstå hva disse betyr og brukes til er en viktig del av VBA.

Ta opp en makro

For å spille inn en makro i Excel, i Bånd, plukke ut Vis> Makro> Spill inn makro.

ELLER

Utvikler> Ta opp makro

Merk: Hvis du ikke ser utviklerbåndet, må du aktivere det. Klikk HER for å lære hvordan du gjør dette.

Skriv inn navnet på makroen, og klikk OK.

Merk noen celler, og formater dem deretter for fet skrift, endre fargen til rød og endre skriftstørrelsen. Klikk deretter Stopp i nedre venstre hjørne av skjermen for å stoppe opptaksmakroen.

MED Statement Syntax

Slik viser / redigerer du den innspilte makroen: Velg i båndet Vis> Makroer> Vis makroer. Velg makroen som nettopp er registrert, og klikk deretter Redigere.

ELLER

Velg båndet i båndet Utvikler> Visual Basic for å bytte til VBE -vinduet.

Den innspilte makroen kan se ut som eksemplet nedenfor

123456789 Sub WithMacro ()Område ("A2: C10"). VelgSelection.Font.Bold = TrueSelection.Font.Size = 12Med utvalg. Font.Color = -16776961.TintAndShade = 0Slutt medSlutt Sub

For det første har vi valgt området A2: C10.

Vi har da satt fet skrift til sann og skriftstørrelsen til 12. Legg merke til at koden “Selection.Font” gjentas for disse linjene.

Makroen har da registrert oss ved å endre fargen på teksten - merk at denne gangen har Selection.Font en MED foran den, og de to egenskapene som blir endret (fargen og fargetonen) har en periode (.) foran seg. Kodeområdet blir deretter fullført med en SLUTT MED.

For å forenkle denne koden kan vi flytte fet og størrelse til å være innenfor WITH -setningen, og derfor fjerne behovet for å gjenta ordet Selection.

123456789 Sub WithMacro ()Område ("A2: C10"). VelgMed utvalg. Font.Fet = Sann.Størrelse = 12.Color = -16776961.TintAndShade = 0Slutt medSlutt Sub

Syntaksen til en WITH … END WITH -uttalelse er derfor veldig enkelt:

123 MED objekt'egenskaper for å formatere/endreSLUTT MED

Vi kunne ha endret koden på en annen måte:

1234567 Sub RemoveWith ()Område ("A2: C10"). VelgSelection.Font.Bold = TrueSelection.Font.Size = 12Selection.Font.Color = -16776961Selection.Font.TintAndShade = 0Slutt Sub

I eksemplet ovenfor har vi lagt til ordene Selection.Font til hver linje i koden. Vi har derfor gjentatte ganger referert til Selection.Font -objektet i koden.

Imidlertid betyr bruk av WITH -setningen at vi bare trenger å referere til dette objektet én gang i koden. Det er en renere måte å kode på - det forteller VBA å begynne med WITH og slutten på END WITH - koden som skal kjøres, er alt inkludert i de to ordene. Det får makroen til å kjøre raskere og mer effektivt (spesielt for lengre makroer), og legger til struktur i koden din.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave