Référencement d'une feuille de calcul avec une variable d'objet - Astuces Excel

Table des matières

Joe essaie de résoudre une erreur sur une nouvelle macro qu'il vient d'écrire.

La ligne qui affecte NextRow renvoie une erreur qui dit "Variable objet ou avec variable de bloc non définie".

Les variables d'objet sont plutôt cool. Dans les anciens conseils de, j'utiliserais des variables régulières comme celles-ci:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

Il y a un meilleur moyen. Vous pouvez définir une variable comme étant n'importe quel objet, tel qu'une feuille de calcul. Il y a plusieurs avantages à cela. Il est plus court d'utiliser la variable objet à la place des feuilles de calcul (OrigName). De plus, lorsque vous tapez du code, VBA saura que la variable est une feuille de calcul et offrira les propriétés et méthodes appropriées après avoir tapé le point. Voici le nouveau code:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

L'astuce, cependant, est que lorsque vous avez une variable d'objet, elle doit être affectée avec le mot-clé Set. Si vous ne parvenez pas à mettre l'ensemble dans le code, vous obtiendrez la "variable d'objet ou avec une variable de bloc non définie" quelque peu non intuitive. Joe doit simplement précéder son affectation de variable avec le mot Set.

Articles intéressants...