VBA Met / Eindig Met Verklaring

Dit artikel laat zien hoe u With en End With gebruikt in VBA

Excel biedt ons de mogelijkheid om VBA te leren door macro's op te nemen. Deze macro's registreren letterlijk alles wat we op het scherm doen en zetten de acties om in VBA-code. We kunnen deze code vervolgens analyseren en ervan leren.

Wanneer we een macro opnemen in VBA, vooral wanneer we het formaat van cellen wijzigen, zal de macro vaker wel dan niet de With… End With-syntaxis gebruiken in zijn opname. Begrijpen wat deze betekenen en waarvoor ze worden gebruikt, is een belangrijk onderdeel van VBA.

Een macro opnemen

Om een ​​macro op te nemen in Excel, in de Lintje, selecteer Beeld > Macro > Macro opnemen.

OF

Ontwikkelaar > Macro opnemen

Opmerking: als u het ontwikkelaarslint niet ziet, moet u dit inschakelen. Klik HIER om te lezen hoe u dit doet.

Typ de naam voor de macro en klik op OK.

Markeer enkele cellen en formatteer ze voor Vet, verander de kleur in rood en wijzig de lettergrootte. Klik vervolgens op Stop in de linkerbenedenhoek van het scherm om de opnamemacro te stoppen.

WITH-instructiesyntaxis

Om uw opgenomen macro te bekijken/bewerken: Selecteer in het lint Beeld > Macro's > Macro's bekijken. Selecteer de zojuist opgenomen macro en klik vervolgens op Bewerking.

OF

Selecteer in het lint Ontwikkelaar > Visual Basic om over te schakelen naar het VBE-venster.

De opgenomen macro kan er ongeveer zo uitzien als in het onderstaande voorbeeld

123456789 Sub Met Macro()Bereik ("A2:C10"). SelecteerSelectie.Lettertype.Bold = TrueSelectie.Lettergrootte = 12Met Selectie.Lettertype.Kleur = -16776961.TintAndShade = 0Eindigt metEinde sub

Als eerste hebben we het bereik A2:C10 geselecteerd.

We hebben dan het vet op true gezet en de lettergrootte op 12. Merk op dat de code “Selection.Font” voor deze regels wordt herhaald.

De macro heeft vervolgens opgenomen dat we de kleur van de tekst veranderden - merk op dat deze keer het Selection.Font een . heeft MET ervoor, en de 2 eigenschappen die worden gewijzigd (de kleur en de tint en schaduw) hebben een punt (.) ervoor. Het codegebied wordt dan aangevuld met een EINDIGT MET.

Om deze code te vereenvoudigen, kunnen we de vetgedrukte en de grootte verplaatsen binnen de WITH-instructie, en daarom de noodzaak verwijderen om het woord Selectie te herhalen.

123456789 Sub Met Macro()Bereik ("A2:C10"). SelecteerMet Selectie.Lettertype.Vet = WaarMaat = 12 ".Kleur = -16776961.TintAndShade = 0Eindigt metEinde sub

De syntaxis van een WITH… END WITH statement is daarom heel eenvoudig:

123 MET Voorwerp'eigenschappen om te formatteren/wijzigen'EINDIGT MET

We hadden de code op een andere manier kunnen aanpassen:

1234567 Sub VerwijderenMet()Bereik ("A2:C10"). SelecteerSelectie.Lettertype.Bold = TrueSelectie.Lettergrootte = 12Selectie.Lettertypekleur = -16776961Selectie.Font.TintAndShade = 0Einde sub

In het bovenstaande voorbeeld hebben we de woorden Selection.Font toegevoegd aan elke regel van de code. We hebben daarom herhaaldelijk verwezen naar het Selection.Font Object in de code.

Het gebruik van de WITH-instructie betekent echter dat we in de code maar één keer naar dit object hoeven te verwijzen. Het is een schonere manier van coderen - het vertelt VBA om te beginnen bij WITH en het einde bij END WITH - de uit te voeren code is allemaal ingesloten tussen die 2 woorden. Het zorgt ervoor dat de macro sneller en efficiënter wordt uitgevoerd (vooral voor langere macro's) en voegt structuur toe aan uw code.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave