Excel, Sélectionnez vs Activer
Quelle est la différence entre le code VBA wb.Sheets(1).Cells.Select
et wb.Sheets(1).Activate
?
- Riche de réponses à une question simple 🙂
Vous devez vous connecter pour publier un commentaire.
Quelle est la différence entre le code VBA wb.Sheets(1).Cells.Select
et wb.Sheets(1).Activate
?
Vous devez vous connecter pour publier un commentaire.
Différence entre les sélectionner, vous pouvez sélectionner plusieurs objets à la fois. Les objets sélectionnés sont également placés dans la Sélection de l'objet qui vous pouvez utiliser les méthodes sur. Sauf si vous sélectionnez plusieurs objets, la sélection (par exemple, une cellule) active l'objet.
Activer simplement fait l'objet de l'objet actif.
La meilleure façon de penser, il est "de nombreuses cellules peuvent être sélectionnés, mais une seule peut être la cellule active à un moment donné."
Remarque: les deux ont une chose en commun - ils sont rarement nécessaires, et d'une manière générale, ne rien faire, mais ralentir votre code vers le bas. Vous pouvez travailler directement sur un objet sans avoir à le sélectionner ou activer, et il est préférable de ne pas utiliser ces sauf si nécessaire.
Activate
est qu'habituellement, il sélectionne la plage, mais pas dans tous les cas. SiActivate
est utilisé sur une gamme qui comprend la première cellule deSelection
alors il ne fait pas changer la sélection. Par exemple, sélectionnez la plage A1:B1, puis essayezActiveSheet.Range("A1:B2).Activate
et avis que rien ne change dans la sélection. Il vous avez sélectionné la gamme en cliquant sur la cellule B1 et en les faisant glisser à l'A1 puis B1 est la cellule active dans la sélection. Si vous regardez attentivement, vous remarquerez que le changement de la sélection de la cellule A1 lorsque vous avez exécuté au-dessus de la ligne de code.Voici une explication de MSDN
Vous premier exemple
wb.Sheets(1).Cells.Select
vous permet de sélectionner plusieurs cellulesLa deuxième
wb.Sheets(1).Activate
rend la feuille active.Il ya beaucoup de ressources là-bas pour aider avec Excel VBA.
http://www.excel-vba.com/index.htm#Tutorial%20on%20Excel%20Macros
http://www.excel-vba-easy.com/
http://www.functionx.com/vbaexcel/
Le premier sélectionne toutes les cellules sur la première feuille du classeur wb. Il échouera si la feuille n'est pas active.
La seconde active uniquement la première feuille du classeur wb. Il ne modifie pas le choix ou activecell sur cette feuille, et, dans certains cas, il peut ne pas être sélectionné ou activecell (eg. si il y a un objet sur la feuille qui est actuellement sélectionné).
Select
- "Choisit" de la Cellule(s)Activate
- "Active" une feuille (un peu comme dire à se concentrer sur une feuille)Parfois besoin d'u spécifiquement
ACTIVATE
la feuille, afin de faire unSELECT
J'ai trouvé cette question lors de la recherche, j'ai eu la même question. Voici quelque chose que j'ai remarqué:
J'ai trouvé que je AVAIT de mettre la feuille de calcul.activer (ou sélectionner) ou le code à exécuter dans:
Run-time error: '1004'
Définie par l'Application ou par l'objet défini erreur
Activer est souvent utilisé pour les Feuilles par Exemple.
La feuille Active wil être affichées sur l'écran... donc il ne peut être une feuille active
Sélectionnez si elle peut être utilisée pour plusieurs Cellules par Exemple.
Plage(A1:B3).Sélectionnez sélectionner plusieurs cellules qui n'est pas possible avec activer