Grabación de macros de Excel con referencias relativas

LA referencia relativa en una macro Excel significa relativo a la celda activa en ese momento. Así que tenga cuidado con su elección celda activa - tanto al grabar la macro de referencia relativa y cuando lo ejecuta.

En primer lugar, la muestra abierta File.xlsx disponibles en línea. A continuación, utilice los siguientes pasos para grabar una macro referencia relativa:

  1. En la ficha Programador, seleccione la opción Usar referencias relativas.

    Grabación de una macro con respecto & # 173 referencias.
    Grabación de una macro con relativa # 173 referencias.
  2. Asegúrese de que la célula se selecciona A1.

  3. En la ficha Programador, seleccione Grabar macro.

  4. Nombre del AddTotalRelative macro.

  5. Selecciona este libro de trabajo en el almacenamiento.

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

  7. Seleccionar A16 celular y el tipo total en la célula.

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

  9. En la ficha Programador, haga clic en Detener grabación para detener la grabación de la macro.

En este punto, ha grabado dos macros. Tómese un momento para examinar el código de la macro de nueva creación mediante la selección de macros en la ficha Programador para abrir el cuadro de diálogo Macro. Seleccione la macro AddTotalRelative y haga clic en Editar.

Una vez más, el Editor de Visual Basic se abre y muestra el código que fue escrito cuando grabó la macro. Esta vez, el código se ve algo como lo siguiente:

AddTotalRelative Sub () ActiveCell.Offset (15, 0) .Range ("A1"). SelectActiveCell.FormulaR1C1 = "Total" ActiveCell.Offset (0, 3) .Range ("A1"). SelectActiveCell.FormulaR1C1 = "= CONTARA (R [-14] C: R [-1] C) "End Sub

Primera nota de que el código no contiene referencias a rangos de celdas específicas (que no sean el punto de partida, A1). Tenga en cuenta que en esta macro, Excel utiliza la propiedad Offset de la celda activa. Esta propiedad indica el cursor para mover un cierto número de células arriba o hacia abajo y un cierto número de células hacia la izquierda o derecha.

En este caso, el código de la propiedad Offset le dice a Excel para mover 15 filas hacia abajo y 0 columnas frente a la celda activa (A1). Debido a que la macro se grabó utilizando referencia relativa, Excel no seleccionar explícitamente una celda en particular como lo hizo cuando se graba una macro de referencia absoluta.

Para ver esta macro en acción, eliminar la fila total para ambas tablas y haga lo siguiente:

  1. Seleccione la celda A1.

  2. En la ficha Programador, seleccione Macros.

  3. Busque y seleccione la macro AddTotalRelative.

  4. Haga clic en el botón Ejecutar.

  5. Seleccione la celda F1.

  6. En la ficha Programador, seleccione Macros.

  7. Busque y seleccione la macro AddTotalRelative.

  8. Haga clic en el botón Ejecutar.

Tenga en cuenta que esta macro, a diferencia de la macro anterior, funciona en ambos conjuntos de datos. Debido a que la macro se aplica los totales relativos a la celda activa en ese momento, los totales se aplican correctamente.

Por esta macro funcione, sólo hay que asegurarse de que

  • Usted ha seleccionado la celda de partida correcto antes de ejecutar la macro.

  • El bloque de datos tiene el mismo número de filas y columnas como los datos en los que ha grabado la macro.




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