Med erklæring i Excel VBA
With statement bruges i VBA til at få adgang til alle egenskaberne og metoderne for et nævnt objekt. Vi er nødt til at levere hvilket VBA-objekt, vi henviser til, først og derefter lukke With-erklæringen med End With og derefter inde i denne erklæring kan vi udføre alle egenskabsændringer og metoder for det nævnte objekt.
Nedenfor er syntaksen for With Statement i VBA.
Med [OBJECT] [Kode ... Hvad skal der gøres?] Afslut med
Objektet er intet andet end en række celler eller celler, vi henviser til, og så kan vi ændre egenskaberne og udføre alle de metoder, der er knyttet til den eller de specifikke celler.
Hvordan bruges det med erklæring i Excel VBA?
Nedenfor er nogle eksempler til brug med erklæring i Excel VBA.
Du kan downloade denne VBA With Excel-skabelon her - VBA With Excel TemplateEksempel nr. 1
Antag, at du har en bestemt værdi i A1-celle, jeg har indtastet teksten som "Excel VBA" i celle A1.
Nu til denne celle skal jeg udføre nogle opgaver, dvs. formatering i Excel.
Jeg vil ændre skriftstørrelse, skrifttypenavn og interiørfarve, indsætte en ramme osv ... Typisk hvad vi gør er, at vi først henviser cellen ved hjælp af VBA RANGE-objekt.
Kode:
Sub With_Example1 () Range ("A1") End Sub
Nu for at ændre skriftstørrelse får vi adgang til "font" egenskab for denne celle.
Under FONT-ejendom får vi adgang til egenskaben Size og indtaster størrelse ved at sætte et lighedstegn.
Kode:
Sub With_Example1 () Range ("A1") Font.Size = 15 End Sub
Nu udfører vi også andre formateringsopgaver som vist nedenfor.
Kode:
Sub With_Example1 () Range ("A1"). Font.Size = 15 Range ("A1"). Font.Name = "Verdana" Range ("A1"). Interior.Color = vbGul rækkevidde ("A1"). .LineStyle = xlContinuous End Sub
Dette vil udføre alle de nævnte opgaver, men hvis du ser på koden for at udføre hver formateringsaktivitet, vi har leveret celleadressen hver gang, får dette koden til at se lang og tidskrævende ud.
Nu bruger vi VBA With-erklæring til at reducere indtastningen af celleadresse hver gang. Åbn WITH-erklæring i Excel VBA og lever celleadresse.
Kode:
Sub With_Example1 () With Range ("A1") End Sub
Inde i With-sætningen skal du sætte en prik for at se alle egenskaber og metoder i celle A1.
Nu ændrer den første formateringsaktivitet skriftstørrelse, så få adgang til FONT og under denne adgang SIZE-egenskab.
Kode:
Sub With_Example1 () With Range ("A1") .Font.Size = 15 End Sub
På samme måde skal du angive andre formateringskoder og lukke VBA With Statement.
Kode:
Sub With_Example1 () With Range ("A1") .Font.Size = 15 .Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xlContinuous End With End Sub
Kør koden for at se al formatering i det nævnte objekt, dvs. celle A1.
Så al formatering anvendt på cellen. Se hvor sej denne teknik er.
Eksempel 2
For eksempel, hvis du vil ændre alle de egenskaber, der er relateret til skrifttypen, kan du nævne cellen og FONT-egenskaben.
Kode:
Sub With_Example2 () With Range ("A1") Font End With End Sub
Inde i vba With Statement kan vi se IntelliSense-listen, den viser kun egenskaber og metoder relateret til FONT-ejendom.
Vi kan udføre ethvert sæt af aktiviteter med dette nu.
Kode:
Sub With_Example2() With Range("A1").Font .Bold = True 'Font will be Bold .Color = vbAlias 'Font color will be Alias .Italic = True 'Font will be italic style .Size = 20 ' Font size will be 20 .Underline = True 'Font will be underlined End With End Sub
The result of this will be as shown below.
Example #3
Below code will access only cell border-related properties.
Code:
Sub With_Example3() With Range("B2").Borders .Color = vbRed 'Border color will be red .LineStyle = xlContinuous 'Full border .Weight = xlThick 'Thick border End With End Sub
The result of this code is as follows.
Things to Remember
- With statement is used to minimize the code.
- We need to supply object first for With statement.
- Once the specific object is supplied we can access only that object’s properties and methods.