Grabación de macros de excel con referencias relativas
UN referencia relativa en una macro Excel significa en relación con la celda actualmente activa. Así que tenga cuidado con su elección celda activa - tanto cuando se graba la macro referencia relativa y cuando lo ejecuta.
Video: Macros en Excel - Como utilizar Referencias Relativas y Referencias Absolutas
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:
En la ficha Programador, seleccione la opción Usar referencias relativas.
Grabación de una macro con referencias relativas.Asegúrese de que la celda A1 se selecciona.
En la ficha Programador, seleccione Grabar macro.
Nombre del AddTotalRelative macro.
Selecciona este libro de trabajo en el almacenamiento.
Haga clic en OK para iniciar la grabación.
Seleccione la celda A16 y el tipo total en la célula.
Seleccione la primera celda vacía en la Columna D (D16) y tipo = CONTARA (D2: D15).
En la ficha Programador, haga clic en Detener grabación para detener la grabación de la macro.
En este punto, usted ha grabado dos macros. Tómese un momento para examinar el código de la macro recién creada mediante la selección de macros en la ficha Programador para abrir el cuadro de diálogo Macro. Elija 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 se grabó la macro. Esta vez, su código es 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 los rangos específicos de células (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 la derecha.
En este caso, el código de propiedad Offset indica a Excel para mover hacia abajo 15 filas y columnas 0 al otro lado de la celda activa (A1). Debido a que la macro se registró usando referencia relativa, Excel no seleccionar explícitamente una célula particular como lo hizo cuando la grabación de una macro referencia absoluta.
Para ver esta macro en acción, eliminar la fila total para ambas tablas y hacer lo siguiente:
Seleccione celda A1.
En la ficha Programador, seleccione Macros.
Buscar y seleccionar la macro AddTotalRelative.
Haga clic en el botón Ejecutar.
Seleccione la celda F1.
En la ficha Programador, seleccione Macros.
Video: VBA Excel 2007 Grabación de Macros con Referencia Absoluta o Referencia Relativa Video 9
Buscar y seleccionar la macro AddTotalRelative.
Video: Excel Avanzado 2010 Macros I Vídeo 17
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 aplica los totales en relación con la celda actualmente activa, los totales se aplican correctamente.
Por esta macro funcione, sólo hay que asegurarse de que
Que 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 que se grabó la macro.