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 TemplateEksempel 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.