Grabación de macros de Excel con referencias absolutas

Modo de grabación por defecto de Excel es referencia absoluta. Cuando una referencia de celda en una fórmula es una referencia absoluta, que no se ajusta automáticamente cuando la fórmula se pega a una nueva ubicación.

La mejor manera de entender cómo este concepto se aplica a las macros es probarlo. Grabar una macro que cuenta las filas de una hoja de cálculo. (Véase la figura para ver un ejemplo.)

Su hoja de trabajo pretotaled contiene dos tablas.
Su hoja de trabajo pretotaled contiene dos tablas.

Usted puede encontrar el conjunto de datos de muestra utilizada aquí en línea.

Siga estos pasos para grabar la macro:

  1. Asegúrese de que la célula se selecciona A1.

  2. En la ficha Programador, seleccione Grabar macro.

  3. Nombre del AddTotal macro.

  4. Selecciona este libro de trabajo en el almacenamiento.


  5. Haga clic en Aceptar para iniciar la grabación.

    En este punto, Excel está grabando sus acciones.

  6. Aunque Excel es la grabación, seleccione A16 celular y el tipo total en la célula.

  7. Seleccione la primera celda vacía de la columna D (D16) y el tipo = CONTARA (D2: D15).

    Esta fórmula da un recuento de los números de sucursales en la parte inferior de la columna D. Utilice la función CONTARA porque los números de sucursales son almacenados como texto.

  8. Haga clic en Detener grabación en la ficha Programador para detener la grabación de la macro.

    Su hoja de trabajo de post-totalizado.
    Su hoja de trabajo de post-totalizado.

La hoja de trabajo con formato debe ser similar a algo como lo que se muestra aquí.

Para ver la macro en la acción, elimine la fila Total que acaba de agregar y reproducir la macro siguiendo estos pasos:


  1. En la ficha Programador, seleccione Macros.

  2. Busque y seleccione la macro AddTotal que acaba de grabar.

  3. Haga clic en el botón Ejecutar.

Si todo va bien, la macro se reproduce sus acciones a una T y le da a su mesa un total. Ahora aquí está la cosa. No importa cuánto te esfuerces, no se puede hacer el trabajo AddTotal macro en la segunda tabla. ¿Por qué? Debido a que ha grabado como una macro absoluta.

Para entender lo que esto significa, examinar el código subyacente al seleccionar Macros en la ficha Programador. Aparecerá el cuadro de diálogo Macro.

La caja 173-diálogo Macro & # Excel.
El Macro Excel # 173-cuadro de diálogo.

Seleccione la macro AddTotal y haga clic en el botón Editar. Editor de Visual Basic se abre y muestra el código que fue escrito cuando grabó la macro:

Sub AddTotal () Range ("A16") SelectActiveCell.FormulaR1C1 = Range "Total" ("D16") SelectActiveCell.FormulaR1C1 = "= CONTARA (R [-14] C: R [-1] C)".. End Sub

Preste especial atención a las dos líneas de código que seleccionan A16 rango y el rango D16. Debido a que la macro se grabó en el modo de referencia absoluta, Excel interpreta su selección gama como referencias de celdas absolutas. En otras palabras, no importa donde tu cursor está en el libro, al ejecutar la macro grabada, Excel seleccionará A16 celular y luego la celda D16. En la siguiente sección, se echa un vistazo a lo que la misma macro se ve como cuando se graba en modo de referencia relativa.




» » » » Grabación de macros de Excel con referencias absolutas