VBA med | Hvordan bruke med ... Avslutt med uttalelse i Excel VBA?

Med uttalelse i Excel VBA

With statement brukes i VBA for å få tilgang til alle egenskapene og metodene til et nevnt objekt. Vi må levere hvilket VBA-objekt vi refererer til, og deretter lukke With-setningen med End With , og deretter i denne setningen kan vi utføre alle eiendomsendringene og metodene til det nevnte objektet.

Nedenfor er syntaksen til With Statement i VBA.

 Med [OBJECT] [Kode ... Hva må gjøres?] Avslutt med 

Objektet er ingenting annet enn et område med celler eller celle vi refererer til, og så kan vi endre egenskapene og utføre alle metodene som er knyttet til den eller de spesifikke cellene.

Hvordan bruke med uttalelse i Excel VBA?

Nedenfor er noen eksempler å bruke With Statement i Excel VBA.

Du kan laste ned denne VBA With Excel-malen her - VBA With Excel Template

Eksempel 1

Anta at du har en viss verdi i A1-celle, jeg har skrevet inn teksten som "Excel VBA" i celle A1.

Nå for denne cellen, må jeg gjøre noen oppgaver, dvs. formatering i Excel.

Jeg vil endre skriftstørrelse, skriftnavn og interiørfarge, sette inn en kant osv ... Vanlig hva vi gjør er at vi først henviser cellen ved å bruke VBA RANGE-objekt.

Kode:

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

Nå for å endre skriftstørrelse får vi tilgang til "font" -egenskapen til denne cellen.

Under FONT-egenskapen får vi tilgang til egenskapen Size og angir størrelse ved å sette et likhetstegn.

Kode:

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

Nå gjør vi på samme måte andre formateringsoppgaver som vist nedenfor.

Kode:

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

Dette vil gjøre alle de nevnte oppgavene, men hvis du ser på koden for å utføre hver formateringsaktivitet vi har levert celleadressen hver gang, får dette koden til å se lang og tidkrevende ut.

Nå vil vi bruke VBA With-uttalelse for å redusere oppføringen av celleadresse hver gang. Åpne MED-setningen i Excel VBA og oppgi celleadresse.

Kode:

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

Inne i With-setningen setter du en prikk for å se alle egenskapene og metodene til celle A1.

Nå endrer den første formateringsaktiviteten skriftstørrelsen, så få tilgang til FONT og under denne tilgang SIZE-egenskapen.

Kode:

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

Tilsvarende må du oppgi andre formateringskoder og lukke VBA With Statement.

Kode:

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

Kjør koden for å se all formatering i det nevnte objektet, dvs. celle A1.

Så all formateringen ble brukt på cellen. Se hvor kul denne teknikken er.

Eksempel 2

Hvis du for eksempel vil endre alle egenskapene knyttet til skriften, kan du nevne celle- og FONT-egenskapen.

Kode:

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

Inne i vba With Statement kan vi se IntelliSense-listen, den vil bare vise egenskaper og metoder relatert til FONT-eiendom.

Vi kan utføre ethvert sett med aktivitet nå.

Kode:

 Sub With_Example2 () With Range ("A1"). Font. Fet = Sann 'Skrift vil være fet. Farge = vbAlias' Skriftfarge vil være Alias. Italisk = Sann 'Skrift vil være kursiv. Størrelse = 20' Skriftstørrelse vil være 20 .Underline = True 'Font vil bli understreket End With End Sub 

Resultatet av dette blir som vist nedenfor.

Eksempel 3

Nedenfor koden får du bare tilgang til cellegrenserelaterte egenskaper.

Kode:

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

Resultatet av denne koden er som følger.

Ting å huske

  • With statement brukes til å minimere koden.
  • Vi må levere objekt først for With statement.
  • Når det spesifikke objektet er levert, har vi bare tilgang til objektets egenskaper og metoder.