Kimutatással az Excel VBA-ban
A With utasítás a VBA-ban az említett objektum összes tulajdonságához és metódusához való hozzáféréshez használatos. Először meg kell adnunk, hogy melyik VBA objektumra hivatkozunk, majd lezárjuk a With utasítást End With-el , majd ezen a utasításon belül elvégezhetjük az említett objektum összes tulajdonságváltozását és módszerét.
Az alábbiakban bemutatjuk a With Statement in VBA szintaxisát.
A [TÁRGY] [Kód ... Mit kell tenni?] Vége
Az objektum nem más, mint egy sejt vagy tartomány, amelyre hivatkozunk, majd megváltoztathatjuk a tulajdonságokat, és elvégezhetjük az adott cellához vagy sejtekhez társított összes módszert.
Hogyan lehet használni az állítással az Excel VBA-ban?
Az alábbiakban néhány példa használható a Kimutatással az Excel VBA alkalmazásban.
Itt töltheti le ezt a VBA Excel sablonnal - VBA Excel sablonnal1. példa
Tegyük fel, hogy van bizonyos értéke az A1 cellában, az A1 cellába „Excel VBA” néven írtam be a szöveget.
Ehhez a cellához el kell végeznem néhány feladatot, azaz formázni az excelben.
Meg akarom változtatni a betűméretet, a betű nevét és a belső színét, beilleszteni egy szegélyt stb. ... Jellemző, hogy először a VBA RANGE objektum használatával utaljuk a cellát.
Kód:
Sub With_Példa1 () Tartomány ("A1") Vége Sub
A betűméret megváltoztatásához hozzáférhetünk ennek a cellának a „font” tulajdonságához.
A FONT tulajdonság alatt elérjük a Size tulajdonságot, és egyenlőségjel előírásával adjuk meg a méretet.
Kód:
Sub With_Példa1 () Tartomány ("A1"). Font.Size = 15 End Sub
Most hasonlóan más formázási feladatokat is végrehajtunk, az alábbiak szerint.
Kód:
Sub With_Example1 () Range ("A1"). Font.Size = 15 Range ("A1"). Font.Name = "Verdana" Range ("A1"). Interior.Color = vbSárga tartomány ("A1"). Határ .LineStyle = xlContinuous End Sub
Ez elvégzi az összes említett feladatot, de ha megnézi a kódot, hogy minden egyes formázási tevékenységet elvégezzünk, amelyet minden alkalommal megadtunk a cella címével, ez hosszú és időigényes megjelenést eredményez.
Most a VBA With utasítással fogjuk csökkenteni a cellacím beírását. Nyissa meg a WITH utasítást az Excel VBA-ban, és adja meg a cella címét.
Kód:
Sub With_Példa1 () With Range ("A1") Vége Sub
A With utasításban tegyen egy pontot az A1 cella összes tulajdonságának és metódusának megtekintéséhez.
Az első formázási tevékenység megváltoztatja a betűméretet, ezért nyissa meg a FONT elemet, és ezen a SIZE tulajdonság alatt.
Kód:
Sub With_Example1 () with Range ("A1"). Font.Size = 15 End Sub
Hasonlóképpen adjon meg más formázási kódokat, és zárja be a VBA utasítással.
Kód:
Sub With_Example1 () with Range ("A1") .Font.Size = 15 .Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xlContinuous End with End Sub
Futtassa a kódot az összes objektum formázásának megtekintéséhez, azaz az A1 cellában.
Tehát a cellára alkalmazott összes formázás. Nézd, milyen klassz ez a technika.
2. példa
Például, ha meg akarja változtatni a betűtípussal kapcsolatos összes tulajdonságot, megemlítheti a cellát és a FONT tulajdonságot.
Kód:
Sub With_Example2 () Tartománysal ("A1"). A betűtípus End With End Al
Az állítással ellátott vba belsejében láthatjuk az IntelliSense listát, amely csak a FONT tulajdonsághoz kapcsolódó tulajdonságokat és módszereket mutatja.
Bármilyen tevékenységet elvégezhetünk ezzel.
Kód:
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.