VBA med

Med uttalande i Excel VBA

With statement används i VBA för att komma åt alla egenskaper och metoder för ett nämnt objekt. Vi måste ange vilket VBA-objekt vi hänvisar till först och sedan stänga With-uttalandet med End With , sedan inuti detta uttalande kan vi utföra alla ändringar av egenskaper och metoder för det nämnda objektet.

Nedan är syntaxen för With Statement i VBA.

 Med [OBJECT] [Kod ... Vad måste göras?] Avsluta med 

Objektet är inget annat än ett antal celler eller celler som vi hänvisar till och sedan kan vi ändra egenskaperna och utföra alla metoder som är associerade med den specifika cellen eller cellerna.

Hur man använder med uttalande i Excel VBA?

Nedan följer några exempel att använda With Statement i Excel VBA.

Du kan ladda ner denna VBA med Excel-mall här - VBA med Excel-mall

Exempel nr 1

Antag att du har ett visst värde i A1-cell, jag har skrivit in texten som "Excel VBA" i cell A1.

Nu för den här cellen måste jag göra några uppgifter, dvs formatera i Excel.

Jag vill ändra teckensnittsstorlek, teckensnittsnamn och interiörfärg, infoga en ram osv ... Typiskt vad vi gör är att vi först hänvisar cellen med hjälp av VBA RANGE-objekt.

Koda:

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

Nu för att ändra teckenstorlek kommer vi till "font" -egenskapen för den här cellen.

Under egenskapen FONT får vi tillgång till egenskapen Storlek och anger storlek genom att sätta ett likhetstecken.

Koda:

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

Nu gör vi på liknande sätt andra formateringsuppgifter som visas nedan.

Koda:

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

Detta kommer att göra alla de nämnda uppgifterna, men om du tittar på koden för att utföra varje formateringsaktivitet som vi har tillhandahållit celladressen varje gång, gör det koden lång och tidskrävande.

Nu kommer vi att använda VBA With-uttalande för att minska inmatningen av celladressen varje gång. Öppna MED-uttalande i Excel VBA och ange celladress.

Koda:

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

Inuti With-uttalandet sätter du en punkt för att se alla egenskaper och metoder för cell A1.

Nu ändrar den första formateringsaktiviteten teckensnittsstorlek, så öppna FONT och under den här åtkomststorleken.

Koda:

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

På samma sätt, ange andra formateringskoder och stäng VBA With Statement.

Koda:

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

Kör koden för att se all formatering i nämnda objekt, dvs cell A1.

Så all formatering tillämpas på cellen. Titta hur cool den här tekniken är.

Exempel 2

Om du till exempel vill ändra alla egenskaper relaterade till teckensnittet kan du nämna cellen och FONT-egenskapen.

Koda:

 Sub With_Example2 () With Range ("A1") Font End With End Sub 

Inuti vba With Statement kan vi se IntelliSense-listan, den visar endast egenskaper och metoder relaterade till FONT-egendom.

Vi kan utföra vilken uppsättning aktiviteter som helst med detta nu.

Koda:

 Sub With_Example2 () With Range ("A1"). Font. Bold = True 'Font kommer att vara fet. Colour = vbAlias' Fontens färg kommer att vara Alias. Italian = True 'Font kommer att vara kursiv. vara 20 .Underline = True 'Font kommer att understrykas Slut med End Sub 

Resultatet av detta blir som visas nedan.

Exempel # 3

Nedanstående kod får endast åtkomst till cellgränsrelaterade egenskaper.

Koda:

 Sub With_Example3 () With Range ("B2"). Borders .Color = vbRed 'Border color will be red .LineStyle = xlContinuous' Full border .Weight = xlTick 'Thick border End with End Sub 

Resultatet av denna kod är som följer.

Saker att komma ihåg

  • With statement används för att minimera koden.
  • Vi måste leverera objekt först för With-uttalandet.
  • När det specifika objektet har levererats kan vi bara komma åt objektets egenskaper och metoder.