VBA met

Met verklaring in Excel VBA

With statement wordt in VBA gebruikt om toegang te krijgen tot alle eigenschappen en methoden van een genoemd object. We moeten eerst opgeven naar welk VBA-object we verwijzen en vervolgens de With-instructie sluiten met End With , en vervolgens kunnen we binnen deze instructie alle eigenschapswijzigingen en methoden van het genoemde object uitvoeren.

Hieronder staat de syntaxis van With Statement in VBA.

 Met [OBJECT] [Code ... Wat moet er gebeuren?] Eindig met 

Het object is niets anders dan een reeks cellen of cellen waarnaar we verwijzen en dan kunnen we de eigenschappen wijzigen en alle methoden uitvoeren die aan die specifieke cel of cellen zijn gekoppeld.

Hoe te gebruiken met verklaring in Excel VBA?

Hieronder staan ​​enkele voorbeelden om With Statement in Excel VBA te gebruiken.

U kunt deze VBA met Excel-sjabloon hier downloaden - VBA met Excel-sjabloon

Voorbeeld 1

Stel dat je een bepaalde waarde hebt in cel A1, ik heb de tekst ingevoerd als "Excel VBA" in cel A1.

Nu moet ik voor deze cel een aantal taken uitvoeren, dwz formatteren in Excel.

Ik wil de lettergrootte, de naam van het lettertype en de kleur van het interieur wijzigen, een rand invoegen, enz. Typisch wat we doen is dat we eerst de cel doorverwijzen met behulp van het VBA RANGE-object.

Code:

 Sub With_Example1 () Bereik ("A1") End Sub 

Om de lettergrootte te wijzigen, hebben we toegang tot de eigenschap "lettertype" van deze cel.

Onder de eigenschap FONT hebben we toegang tot de eigenschap Grootte en voeren we de grootte in door een gelijkteken te plaatsen.

Code:

 Sub With_Example1 () Bereik ("A1"). Font.Size = 15 End Sub 

Nu doen we op dezelfde manier andere opmaaktaken, zoals hieronder wordt weergegeven.

Code:

 Sub With_Example1 () Bereik ("A1"). Font.Size = 15 Bereik ("A1"). Font.Name = "Verdana" Bereik ("A1"). Interior.Color = vbYellow Bereik ("A1"). Randen .LineStyle = xlContinuous End Sub 

Hiermee worden alle genoemde taken uitgevoerd, maar als je naar de code kijkt om elke opmaakactiviteit uit te voeren, hebben we het celadres elke keer opgegeven, waardoor de code er lang en tijdrovend uitziet.

Nu zullen we de VBA With-instructie gebruiken om het invoeren van het celadres elke keer te verminderen. Open WITH-instructie in Excel VBA en geef het celadres op.

Code:

 Sub With_Example1 () With Range ("A1") End Sub 

Plaats in de With-instructie een punt om alle eigenschappen en methoden van cel A1 te zien.

Nu is de eerste opmaakactiviteit het wijzigen van de lettergrootte, dus ga naar FONT en onder deze toegangsgrootte SIZE.

Code:

 Sub With_Example1 () Met bereik ("A1") .Font.Size = 15 End Sub 

Geef op dezelfde manier andere opmaakcodes op en sluit VBA With Statement.

Code:

 Sub With_Example1 () With Range ("A1") .Font.Size = 15 .Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xlContinuous End With End Sub 

Voer de code uit om alle opmaak in het genoemde object te zien, dwz cel A1.

Dus alle opmaak toegepast op de cel. Kijk hoe cool deze techniek is.

Voorbeeld # 2

Als u bijvoorbeeld alle eigenschappen met betrekking tot het lettertype wilt wijzigen, kunt u de cel en de eigenschap FONT vermelden.

Code:

 Sub With_Example2 () With Range ("A1") Lettertype eindigt met End Sub 

Binnen de vba With Statement kunnen we IntelliSense-lijst zien waarin alleen eigenschappen en methoden worden weergegeven die gerelateerd zijn aan de eigenschap FONT.

Hiermee kunnen we nu elke reeks activiteiten uitvoeren.

Code:

 Sub With_Example2 () Met bereik ("A1"). Lettertype .Bold = True 'Lettertype wordt vetgedrukt .Color = vbAlias' Lettertypekleur is Alias ​​.Italic = True 'Lettertype wordt cursief weergegeven .Size = 20' Lettergrootte wordt be 20 .Underline = True 'Lettertype wordt onderstreept End With End Sub 

Het resultaat hiervan is zoals hieronder weergegeven.

Voorbeeld # 3

Onderstaande code heeft alleen toegang tot celrandgerelateerde eigenschappen.

Code:

 Sub With_Example3 () With Range ("B2"). Borders .Color = vbRed 'Randkleur wordt rood .LineStyle = xlContinuous' Volledige rand .Gewicht = xlThick 'Dikke rand Einde met einde Sub 

Het resultaat van deze code is als volgt.

Dingen om te onthouden

  • With statement wordt gebruikt om de code te minimaliseren.
  • We moeten eerst het object opgeven voor de instructie With.
  • Zodra het specifieke object is geleverd, hebben we alleen toegang tot de eigenschappen en methoden van dat object.