Comment déclarer une Feuille de calcul Active dans une variable?
J'essaie de garder une variable à la actuellement à ouvrir la feuille en VBA. Jusqu'à présent j'ai
Dim Active As Worksheet
Set Active = ActiveWorksheet
Pour une raison quelconque, il me donne une erreur à la dernière ligne, en disant: Objet requis. Mon code ouvre une nouvelle feuille de calcul avec les données de la feuille Active, j'ai donc besoin d'une variable pour contenir ma place dans la feuille de calcul active. Aucune idée de pourquoi cela ne fonctionne pas correctement?
- Une bonne habitude est de qualifier la demande globals avec
Application.
- vous aviez fait cela, IntelliSense aurais dit ce que vous cherchez.
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
ActiveSheet
au lieu deActiveWorksheet
Je préfère ne pas utiliser de ActiveSheet en VBA, car si d'autres en bas de la piste que vous commencer à écrire du code qui utilise plusieurs feuilles de calcul, il peut devenir source de confusion lorsque vous essayez de déterminer qui est qui. Je préfère le suivant
La seule fois que je l'utilise Activesheet est maintenant, quand j'ai besoin d'un peu de code pour fonctionner sur une feuille de calcul, indépendamment de ce qu'il contient, ce qui est très rare. Dans ce cas, comme il a été indiqué ci-dessus, utiliser:
Pour moi, j'aime à parler directement à la feuille de calcul, je veux l'adresse à l'aide de la Feuille("Feuille").
Donc, si vous voulez prendre un formulaire de renseignements sur une feuille spécifique, vous pouvez utiliser ceci:
Afin que vous vous débarrasser de déconner avec un actif ou non actif des feuilles de calcul.