Ce didacticiel vous apprendra à définir des variables d'objet à l'aide de l'instruction Set en VBA.
Définition des variables d'objet
Les objets sont la pierre angulaire de Microsoft Office - sans objets, nous ne pouvons rien accomplir. Dans Excel, les objets incluent le classeur, la feuille de calcul ou les objets de plage. Dans Microsoft Word, les exemples sont l'objet Document ou Table. Chaque objet a une variété de Propriétés et Méthodes qui peut être programmé pour contrôler le comportement de cet objet.
Déclaration de la variable objet
Avant de pouvoir référencer l'objet dans le code, et donc contrôler l'objet, nous devons déclarer l'objet. Nous pouvons le faire en utilisant l'instruction Dim.
123456 | Dim wkb comme classeurDim wks comme feuille de travailDim Rng comme plageDim wdDoc en tant que documentDim wdTbl en tant que tableauDim shp comme forme |
Cette Faible la déclaration peut se produire à l'intérieur d'une procédure :
ou en dehors d'une procédure au niveau du module :
Si la variable est déclarée au niveau du module (en dehors de la procédure), la variable peut être utilisée dans tout le module.
Si la variable objet est déclarée avec l'instruction Public, la variable peut être utilisée dans l'ensemble du projet VBA :
Définir la valeur
Une fois que vous avez déclaré l'objet, vous devez affecter une valeur à l'objet. Cela doit être fait en utilisant le Définir la déclaration et ne peut se faire que dans un Procédure.
12345 | Sous-ensemble d'objets()Définir wkb = ActiveWorkbookDéfinir sem = Feuille1Définir rng = Range("A1:G4")Fin du sous-marin |
Remarque : Ceci est différent de l'affectation de valeurs à des variables non-objet. Vous DEVEZ utiliser l'instruction Set pour affecter l'objet à la variable. Si vous ne le faites pas, vous recevrez une erreur :
Une fois que vous avez attribué une valeur à l'objet, vous pouvez alors écrire du code pour contrôler le comportement ou manipuler l'objet.
Programmation VBA | Le générateur de code fonctionne pour vous !
Exemples d'objets dans Excel
Objet classeur
Une fois que vous avez déclaré une variable de classeur, vous pouvez ensuite affecter un classeur à cet objet et utiliser les propriétés et méthodes disponibles pour manipuler cet objet. Dans l'exemple ci-dessous, nous allons enregistrer un classeur.
123456789101112 | Sous-objet classeur()'déclarer l'objet classeurDim wkb comme classeur'affecter un classeur non enregistré à l'objetDéfinir wkb = Workbooks("Book1")'enregistrer le classeurwkb.SaveAs "C:\data\testbook.xlsx"'fermer le classeurwkb.fermer'n'oubliez pas de relâcher l'objetDéfinir wkb = RienFin du sous-marin |
Objet Feuille de calcul
De même, vous pouvez manipuler une feuille de calcul ou des feuilles de calcul une fois que vous avez déclaré la feuille de calcul en tant que variable. Dans l'exemple ci-dessous, nous renommons Sheet1 et Sheet2.
12345678910111213 | Sub WorksheetObject()Dim wks1 en tant que feuille de calculDim wks2 en tant que feuille de travail'initialiser les objetsDéfinir wks1 = Sheet1Définir wks2 = Sheet2'renommer les feuilleswks1.Name = "Clients"wks2.Name = "Produits"'mettre les objets à riensem1 = Rienwks2 = RienFin du sous-marin |
Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !
Objet de plage
L'objet Range est l'un des objets les plus utiles à manipuler dans Excel. Dans l'exemple ci-dessous, nous mettons en gras la plage A1 à E1 et la formatons avec une bordure inférieure.
12345678910111213 | Sub RangeObject()Dim rng1 comme plage'initialiser la plageDéfinir rng = Range("A1:E1")'mettre en gras la plage et définir la bordure inférieurerng.Font.Bold = TrueAvec rng1.Borders (xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TeinteEtOmbre = 0.Poids = xlPinTerminer parFin du sous-marin |
Objet de forme
Vous pouvez également utiliser des variables d'objet pour travailler avec des formes.
123456789101112 | Sous-AddShape()Dim shp en tant que forme'créer la formeDéfinir shp = ActiveDocument.Shapes.AddShape(msoShapeSmileyFace, 68.25, 225.75, 136.5, 96#)Avec shp'changer la couleur et le style à l'intérieur.Fill.ForeColor.RVB = RVB(255, 255, 0).Remplir.Solide« ajustez le sourire !.Ajustements.Article(1) = 0,07181Terminer parFin du sous-marin |