Enregistrement de macros Excel avec des références absolues

Le mode d'enregistrement par défaut d'Excel est référence absolue. Quand une référence de cellule dans une formule est un référence absolue, elle ne règle pas automatiquement lorsque la formule est collée à un nouvel emplacement.

La meilleure façon de comprendre comment ce concept applique à des macros est de l'essayer. Enregistrer une macro qui compte les lignes dans une feuille de calcul. (Voir la figure pour un exemple.)

Votre feuille de calcul pretotaled contenant deux tables.
Votre feuille de calcul pretotaled contenant deux tables.

Vous pouvez trouver l'ensemble des données de l'échantillon utilisé ici en ligne.

Suivez ces étapes pour enregistrer la macro:

  1. Assurez-vous que la cellule A1 est sélectionnée.

  2. Sur l'onglet Développeur, sélectionnez Enregistrer une macro.

  3. Nommez la macro AddTotal.

  4. Choisissez Ce Cahier d'exercices pour l'emplacement d'enregistrement.




  5. Cliquez sur OK pour lancer l'enregistrement.

    À ce stade, Excel enregistre vos actions.

  6. Alors que Excel est l'enregistrement, sélectionnez la cellule A16 et le type totale dans la cellule.

  7. Sélectionnez la première cellule vide dans la colonne D (D16) et le type = NBVAL (D2: D15).

    Cette formule donne un nombre de numéros de succursales au bas de la colonne D. Vous utilisez la fonction NBVAL parce que les chiffres de la branche sont stockées sous forme de texte.

  8. Cliquez sur Arrêter l'enregistrement sur l'onglet Développeur pour arrêter l'enregistrement de la macro.

    Votre feuille de calcul de post-totalisé.
    Votre feuille de calcul de post-totalisé.

La feuille de calcul formatée devrait ressembler à quelque chose comme celui représenté ici.

Pour voir votre macro dans l'action, supprimer la ligne Total vous venez d'ajouter et lire votre macro en suivant ces étapes:

  1. Sur l'onglet Développeur, sélectionnez Macros.

  2. Recherchez et sélectionnez la macro AddTotal vous venez d'enregistrer.

  3. Cliquez sur le bouton Exécuter.

Si tout va bien, la macro reproduit vos actions à un T et donne votre table un total. Maintenant, voici la chose. Peu importe comment dur vous essayez, vous ne pouvez pas faire de la macro AddTotal travaux sur la deuxième table. Pourquoi? Parce que vous avez enregistré comme un macro absolue.

Pour comprendre ce que cela signifie, examiner le code sous-jacent en sélectionnant Macros sur l'onglet Développeur. La boîte de dialogue Macro apparaît.

La boîte de dialogue macro-173 & # Excel.
La macro Excel Boîte de 173 #-dialogue.

Sélectionnez la macro AddTotal et cliquez sur le bouton Modifier. Visual Basic Editor ouvre et affiche le code qui a été écrit lorsque vous avez enregistré votre macro:

Sous AddTotal () Range ("A16") SelectActiveCell.FormulaR1C1 = Plage de mesure "Total" ("D16") SelectActiveCell.FormulaR1C1 = "= NBVAL (R [-14] C: R [-1] C)".. End Sub

Portez une attention particulière aux deux lignes de code qui sélectionnent gamme A16 et la gamme D16. Parce que la macro a été enregistrée en mode de référence absolue, Excel interprété votre sélection de gamme comme des références absolues aux cellules. En d'autres termes, peu importe où votre curseur est dans votre classeur, lorsque vous exécutez la macro enregistrée, Excel sélectionne la cellule A16 et ensuite la cellule D16. Dans la section suivante, vous jetez un oeil à ce que la même macro ressemble quand enregistrée en mode de référence relative.


» » » » Enregistrement de macros Excel avec des références absolues