VBA avec - Comment utiliser avec ... End With Statement dans Excel VBA?

Avec déclaration dans Excel VBA

L'instruction With est utilisée dans VBA pour accéder à toutes les propriétés et méthodes d'un objet mentionné. Nous devons d'abord fournir l'objet VBA auquel nous nous référons, puis fermer l'instruction With avec End With , puis à l'intérieur de cette instruction. Nous pouvons effectuer toutes les modifications de propriétés et méthodes de l'objet mentionné.

Vous trouverez ci-dessous la syntaxe de With Statement dans VBA.

Avec (OBJET) (Code… Que faut-il faire?) Terminer par

L'objet n'est rien d'autre qu'une plage de cellules ou de cellules auxquelles nous faisons référence, puis nous pouvons modifier les propriétés et exécuter toutes les méthodes associées à cette ou ces cellules spécifiques.

Comment utiliser avec Statement dans Excel VBA?

Vous trouverez ci-dessous quelques exemples d'utilisation de With Statement dans Excel VBA.

Exemple 1

Supposons que vous ayez une certaine valeur dans la cellule A1, j'ai entré le texte comme «Excel VBA» dans la cellule A1.

Maintenant, pour cette cellule, je dois faire certaines tâches, c'est-à-dire le formatage dans Excel.

Je veux changer la taille de la police, le nom de la police et la couleur intérieure, insérer une bordure, etc.… Typiquement, ce que nous faisons est de référencer d'abord la cellule en utilisant l'objet VBA RANGE.

Code:

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

Maintenant, pour changer la taille de la police, nous accédons à la propriété «font» de cette cellule.

Sous la propriété FONT, nous accédons à la propriété Size et entrons size en mettant un signe égal.

Code:

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

De même, nous effectuons d'autres tâches de formatage, comme indiqué ci-dessous.

Code:

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

Cela fera toutes les tâches mentionnées, mais si vous regardez le code pour effectuer chaque activité de formatage, nous avons fourni l'adresse de la cellule à chaque fois. Cela rend le code long et chronophage.

Nous allons maintenant utiliser VBA avec une instruction pour réduire l'entrée d'adresse de cellule à chaque fois. Ouvrez l'instruction WITH dans Excel VBA et indiquez l'adresse de la cellule.

Code:

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

Dans l'instruction With, placez un point pour voir toutes les propriétés et méthodes de la cellule A1.

Maintenant, la première activité de mise en forme change la taille de la police, accédez donc FONT et sous cette propriété SIZE.

Code:

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

De même, fournissez d'autres codes de formatage et fermez VBA With Statement.

Code:

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

Exécutez le code pour voir toute la mise en forme dans l'objet mentionné, c'est-à-dire la cellule A1.

Donc, toute la mise en forme appliquée à la cellule. Regardez comme cette technique est cool.

Exemple # 2

Par exemple, si vous souhaitez modifier toutes les propriétés liées à la police, vous pouvez mentionner la cellule et la propriété FONT.

Code:

Sub With_Example2 () With Range ("A1"). Police End With 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

  • L'instruction With est utilisée pour minimiser le code.
  • Nous devons d'abord fournir un objet pour l'instruction With.
  • Une fois l'objet spécifique fourni, nous ne pouvons accéder qu'aux propriétés et méthodes de cet objet.

Articles intéressants...