Excel VBA classeur et objet feuille de calcul
En savoir plus sur l’objet classeur et feuille de calcul dans Excel VBA.
Hiérarchie des objets
Dans Excel VBA, un objet peut contenir un autre objet, et cet objet peut contenir un autre objet, etc. En d’autres termes, la programmation VBA Excel consiste à travailler avec une hiérarchie d’objets. Cela semble probablement assez déroutant, mais nous ferons clairement.
La mère de tous les objets est Excel lui-même. Nous appelons l’objet Application. L’objet d’application contient d’autres objets. Par exemple, l’objet classeur (fichier Excel). Cela peut être un classeur que vous avez créé.
L’objet classeur contient d’autres objets, tels que l’objet feuille de calcul. L’objet feuille de calcul contient d’autres objets, tels que l’objet Range.
Le lien: / ABV-create-a-macro [Créer une macro]
chapitre montre comment exécuter du code en cliquant sur un bouton de commande. Nous avons utilisé la ligne de code suivant:
Range("A1").Value = "Hello"
mais ce que nous voulions dire était vraiment:
Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"
Remarque: les objets sont reliés à un point. Heureusement, nous ne devons pas ajouter une ligne de code de cette façon. C’est parce que nous avons placé notre bouton de commande dans lien: /vba-excel-files-create-a-macro.xls [create-a-macro.xlsm]
, sur la première feuille de calcul. Sachez que si vous voulez changer les choses sur les feuilles de calcul différentes, vous devez inclure l’objet feuille de calcul. Continuer à lire.
Collections
Vous avez peut-être remarqué que et Workbooks sont toutes deux feuilles de travail pluriel. C’est parce qu’ils sont des collections. La collection Workbooks contient tous les objets classeur qui sont actuellement ouverts. La collection contient toutes les feuilles de travail Feuille de travail des objets dans un classeur.
Vous pouvez vous référer à un membre de la collection, par exemple, un seul objet feuille de calcul, de trois façons.
-
En utilisant le nom de feuille de calcul.
Worksheets("Sales").Range("A1").Value = "Hello"
-
A l’aide du numéro d’index (1 est la première feuille de calcul à partir de la gauche).
Worksheets(1).Range("A1").Value = "Hello"
-
Utilisation de la CodeName.
Sheet1.Range("A1").Value = "Hello"
Pour voir le nom de code d’une feuille de calcul, ouvrez le lien: / ABV-create-a-macro #-éditeur Visual Basic [Visual Basic Editor]
. Dans l’Explorateur de projets, le premier nom est le nom de code. Le deuxième nom est le nom de feuille de calcul (Sales).
Remarque: le nom de code reste le même si vous changez le nom de feuille de calcul ou de l’ordre de vos feuilles de calcul, donc c’est le plus sûr moyen de faire référence à une feuille de calcul. Cliquez sur Affichage, la fenêtre Propriétés pour changer le nom de code d’une feuille de calcul. Il y a un inconvénient, vous ne pouvez pas utiliser le nom de code si vous faites référence à une feuille de calcul dans un autre classeur.
Propriétés et méthodes
Maintenant, nous allons jeter un oeil à certaines propriétés et méthodes de la collection et Workbooks Feuilles de travail. Les propriétés sont quelque chose qui a une collection (ils décrivent la collection), alors que les méthodes font quelque chose (ils effectuent une action avec une collection).
Placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande]
sur votre feuille de calcul et ajoutez les lignes de code:
-
La méthode Add de la collection Workbooks crée un nouveau classeur.
Workbooks.Add
Remarque: la méthode Add de la collection crée une nouvelle Worksheets feuille de calcul.
-
La propriété Count de la collection Worksheets compte le nombre de feuilles de calcul dans un classeur.
MsgBox Worksheets.Count
Lorsque vous cliquez sur le bouton de commande sur la feuille:
Note: la propriété Count de la collection Workbooks compte le nombre de classeurs actifs.