VBA amb | Com s'utilitza amb ... Acaba amb la declaració a Excel VBA?

Amb declaració a Excel VBA

La sentència With s'utilitza a VBA per accedir a totes les propietats i mètodes d'un objecte esmentat. Hem de proporcionar a quin objecte VBA ens referim primer i després tancar la instrucció With Acaba amb, dins d'aquesta declaració, podem realitzar tots els canvis i mètodes de propietat de l'objecte esmentat.

A continuació es mostra la sintaxi de With Statement a VBA.

 Amb [OBJECTE] [Codi ... Què cal fer?] Acabeu amb 

L'objecte no és res més que un rang de cel·les o cel·les a què ens referim i, després, podem canviar les propietats i realitzar tots els mètodes associats a aquesta cel·la o cel·les específiques.

Com s'utilitza amb la declaració a Excel VBA?

A continuació es mostren alguns exemples per utilitzar With Statement a Excel VBA.

Podeu descarregar aquesta plantilla VBA amb Excel aquí - VBA amb plantilla Excel

Exemple 1

Suposem que teniu cert valor a la cel·la A1, he introduït el text com a "Excel VBA" a la cel·la A1.

Ara per a aquesta cel·la, he de fer algunes tasques, és a dir, formatar en Excel.

Vull canviar la mida de la lletra, el nom de la lletra i el color de l'interior, inserir una vora, etc ... El que fem és que primer referim la cel·la mitjançant l'objecte VBA RANGE.

Codi:

 Sub amb_Exemple1 () Interval ("A1") Final Sub 

Ara per canviar la mida de la font accedim a la propietat "font" d'aquesta cel·la.

A la propietat FONT accedim a la propietat Size i introduïm size posant un signe igual.

Codi:

 Sub amb_Exemple1 () Interval ("A1"). Font.Size = 15 Final Sub 

Ara de manera similar fem altres tasques de format com es mostra a continuació.

Codi:

 Sub amb_Exemple1 () Rang ("A1"). Font.Size = 15 Rang ("A1"). Font.Name = Rang "Verdana" ("A1"). Interior.Color = vbRang groc ("A1"). Vores .LineStyle = xlContinuous End Sub 

Això farà totes les tasques esmentades, però si mireu el codi per realitzar cada activitat de format, hem proporcionat l'adreça de la cel·la cada vegada, això fa que el codi sembli llarg i requereixi molt de temps.

Ara utilitzarem la declaració VBA With per reduir l'entrada de l'adreça de la cel·la cada vegada. Obriu la instrucció WITH a Excel VBA i proporcioneu l'adreça de la cel·la.

Codi:

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

Dins de la sentència With, poseu un punt per veure totes les propietats i mètodes de la cel·la A1.

Ara, la primera activitat de formatació canvia la mida de la lletra, així que accediu a FONT i a aquesta propietat SIZE.

Codi:

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

De la mateixa manera, proporcioneu altres codis de format i tanqueu VBA With Statement.

Codi:

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

Executeu el codi per veure tot el format de l'objecte esmentat, és a dir, la cel·la A1.

Per tant, tot el format aplicat a la cel·la. Mireu que xula és aquesta tècnica.

Exemple 2

Per exemple, si voleu canviar totes les propietats relacionades amb el tipus de lletra, podeu esmentar la cel·la i la propietat FONT.

Codi:

 Sub amb_Exemple2 () Amb rang ("A1"). Tipus de lletra final amb final Sub 

Dins de vba With Statement, podem veure la llista IntelliSense que mostrarà propietats i mètodes relacionats només amb la propietat FONT.

Ara podem realitzar qualsevol conjunt d’activitats.

Codi:

 Sub With_Example2 () With Range ("A1"). Font .Bold = True 'El tipus de lletra serà negreta .Color = El color de la font vbAlias ​​serà Àlies .Italic = True' El tipus de lletra serà cursiva. Size = 20 'La mida del tipus de lletra serà ser 20 .Underline = True 'El tipus de lletra es subratllarà Finalitza amb finalitza Sub 

El resultat d'això serà el que es mostra a continuació.

Exemple 3

A sota del codi només s’accedirà a les propietats relacionades amb la vora de la cel·la.

Codi:

 Sub With_Example3 () With Range ("B2"). Borders .Color = vbRed 'El color de la vora serà vermell. Line Style = xlContinuous' Full border .Weight = xlThick 'Bord gruixut Finalitza amb End Sub 

El resultat d’aquest codi és el següent.

Coses que cal recordar

  • Amb declaració s'utilitza per minimitzar el codi.
  • Primer hem de subministrar objectes per a la sentència With.
  • Un cop subministrat l’objecte específic, només podem accedir a les propietats i mètodes d’aquest objecte.