VBA med / slut med erklæring

Denne artikel vil demonstrere, hvordan du bruger With og End With i VBA

Excel giver os mulighed for at lære VBA ved at optage makroer. Disse makroer registrerer bogstaveligt talt alt, hvad vi gør på skærmen og konverterer handlingerne til VBA -kode. Vi kan derefter analysere denne kode og lære af den.

Når vi optager en makro i VBA, mest markant når vi ændrer cellens format, vil makroen oftere end ikke bruge With … End With Syntax i sin optagelse. At forstå, hvad disse betyder og bruges til, er en vigtig del af VBA.

Optagelse af en makro

For at optage en makro i Excel i Bånd, Vælg Vis> Makro> Optag makro.

ELLER

Udvikler> Optag makro

Bemærk: Hvis du ikke kan se udviklerbåndet, skal du aktivere det. Klik HER for at lære, hvordan du gør dette.

Indtast navnet på makroen, og klik på OK.

Fremhæv nogle celler, og formater dem derefter til fed skrift, ændre farven til rød og ændre skriftstørrelsen. Klik derefter på Stop i nederste venstre hjørne af skærmen for at stoppe optagelse af makro.

MED Statement Syntax

Sådan får du vist / redigeret din optagede makro: Vælg på båndet Vis> Makroer> Vis makroer. Vælg den makro, der lige er optaget, og klik derefter på Redigere.

ELLER

Vælg på båndet Udvikler> Visual Basic for at skifte til VBE -vinduet.

Den optagede makro kan ligne nedenstående eksempel

123456789 Sub WithMacro ()Område ("A2: C10"). VælgSelection.Font.Bold = TrueSelection.Font.Size = 12Med markering. Skrifttype.Farve = -16776961.TintAndShade = 0Afslut medAfslut Sub

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

Vi har derefter sat fed til sand og skriftstørrelsen til 12. Bemærk, at koden “Selection.Font” gentages for disse linjer.

Makroen har derefter registreret, at vi ændrede tekstens farve - bemærk, at denne gang har Selection.Font et MED foran den, og de 2 ejendomme, der ændres (farven og farvetonen) har en periode (.) foran sig. Kodeområdet udfyldes derefter med et SLUT MED.

For at forenkle denne kode kan vi flytte fed og størrelse til at være inden for WITH -sætningen og derfor fjerne behovet for at gentage ordet Selection.

123456789 Sub WithMacro ()Område ("A2: C10"). VælgMed markering. Skrifttype.Fedt = Sandt.Størrelse = 12.Farve = -16776961.TintAndShade = 0Afslut medAfslut Sub

Syntaksen for et MED … END MED -udsagn er derfor meget enkelt:

123 MED objekt'egenskaber for at formatere/ændreSLUT MED

Vi kunne have ændret koden på en anden måde:

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

I eksemplet ovenfor har vi tilføjet ordene Selection.Font til hver linje i koden. Vi har derfor gentagne gange henvist til Selection.Font -objektet i koden.

Brug af WITH -sætningen betyder imidlertid, at vi kun behøver at henvise til dette objekt en gang i koden. Det er en renere måde at kode på - det fortæller VBA at begynde ved WITH og slutningen på END WITH - koden, der skal køres, er alle indeholdt i disse 2 ord. Det får makroen til at køre hurtigere og mere effektivt (især ved længere makroer) og tilføjer struktur til din kode.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave