VBA su - Kaip naudoti su ... Pabaiga su pareiškimu „Excel VBA“?

Su pareiškimu „Excel VBA“

Su pareiškimu VBA naudojamas prieigai prie visų minėto objekto savybių ir metodų. Pirmiausia turime pateikti, kurį VBA objektą mes nurodome, tada uždaryti „With“ su „ End With“ , tada į šį teiginį. Mes galime atlikti visus minėto objekto savybių pakeitimus ir metodus.

Žemiau yra su teiginiu VBA sintaksė.

Su (OBJECT) (kodas … Ką reikia padaryti?) Baigti

Objektas yra ne kas kitas, o ląstelių ar ląstelių diapazonas, apie kuriuos mes kalbame, ir tada mes galime pakeisti savybes ir atlikti visus metodus, susijusius su ta konkrečia ląstele ar ląstelėmis.

Kaip naudoti su pareiškimu „Excel VBA“?

Toliau pateikiami keli pavyzdžiai, kaip naudoti su ataskaita „Excel VBA“.

1 pavyzdys

Tarkime, kad langelyje A1 turite tam tikrą vertę, į langelį A1 įvedžiau tekstą kaip „Excel VBA“.

Dabar šiai langelei turiu atlikti keletą užduočių, ty formuoti „Excel“.

Noriu pakeisti šrifto dydį, šrifto pavadinimą ir interjero spalvą, įterpti kraštinę ir pan. … Paprastai mes darome tai, kad pirmiausia nurodome langelį naudodami objektą VBA RANGE.

Kodas:

Sub With_Example1 () Range ("A1") Pabaiga Sub

Dabar norėdami pakeisti šrifto dydį, pasiekiame šios langelio ypatybę „šriftas“.

Pagal ypatybę FONT mes pasiekiame ypatybę Dydis ir įveskite dydį uždėdami lygybės ženklą.

Kodas:

Sub With_Example1 () Range ("A1"). Šriftas.Dydis = 15 End Sub

Dabar panašiai atliekame kitas formatavimo užduotis, kaip parodyta žemiau.

Kodas:

Sub With_Pavyzdys1 () Diapazonas ("A1"). Šriftas.Dydis = 15 Diapazonas ("A1"). Šriftas.Vardas = "Verdana" Diapazonas ("A1"). Interjero.Spalva = vbGeltonas diapazonas ("A1"). Ribos .LineStyle = xlNuolatinis pabaigos antrinis

Tai atliks visas paminėtas užduotis, bet jei pažvelgsite į kodą, kad atliktumėte kiekvieną formatavimo veiklą, kiekvieną kartą pateikėme langelio adresą. Dėl to kodas atrodo ilgas ir daug laiko reikalaujantis.

Dabar mes naudosime VBA With pareiškimą, kad kiekvieną kartą sumažintume langelio adreso įrašą. „Excel VBA“ atidarykite „WITH“ sakinį ir pateikite ląstelių adresą.

Kodas:

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

„With“ sakinio viduje įdėkite tašką, kad pamatytumėte visas A1 langelio savybes ir metodus.

Pirmoji formatavimo veikla keičia šrifto dydį, todėl eikite į FONT ir naudodami šią prieigą SIZE ypatybę.

Kodas:

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

Panašiai pateikite kitus formatavimo kodus ir uždarykite „VBA With Statement“.

Kodas:

Sub With_Example1 () With Range ("A1") .Font.Size = 15 .Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xlNepertraukiama pabaiga su pabaigos sub

Paleiskite kodą, kad pamatytumėte visą formatavimą minėtame objekte, ty langelyje A1.

Taigi, visas langelyje pritaikytas formatavimas. Pažiūrėk, kokia šauni yra ši technika.

2 pavyzdys

Pavyzdžiui, jei norite pakeisti visas su šriftu susijusias ypatybes, galite paminėti langelį ir ypatybę FONT.

Kodas:

Sub With_Example2 () With Range ("A1"). Šrifto pabaiga su End Sub

Inside the VBA With Statement, we can see the IntelliSense list. It will show properties and methods related to FONT property only.

We can perform any set of activities with this now.

Code:

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

The 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

  • Su ataskaita naudojamas norint sumažinti kodą.
  • Pirmiausia turime pateikti objektą „With“ teiginiui.
  • Pateikus konkretų objektą, galime pasiekti tik to objekto savybes ir metodus.

Įdomios straipsniai...