David estaba agregando subtotales (pestaña Datos de la cinta, en el grupo Esquema) a hojas de trabajo grandes y buscaba una forma de mover las celdas de subtotales a diferentes celdas. Por ejemplo, suponga que cuando Excel agregó los subtotales automáticos, estos se agregaron en la columna S, y la fórmula SUBTOTAL agregada por Excel se refería a rangos de celdas en la columna S. David quería mover las fórmulas SUBTOTAL (y solo esas fórmulas) fuera de columna S a la columna T, y las fórmulas aún se refieren a los detalles de la columna S.

Una opción es revisar y mover las fórmulas de SUBTOTAL, una a la vez, a las ubicaciones deseadas. (Usaría Ctrl + X y Ctrl + V para mover las celdas, en lugar de Ctrl + C y Ctrl + V para simplemente crear copias de las celdas). Si las hojas de trabajo son grandes, con muchos subtotales, esto puede volverse muy tedioso. con rapidez.

El tedio en Excel es a menudo el ímpetu principal para crear una macro. Este caso no es una excepción. Es posible crear una macro que hará el movimiento real de las fórmulas SUBTOTAL. Considere el siguiente ejemplo:

Sub MoveSubtotals()

Dim rCell As Range     Dim rng As Range     Dim iCol As Integer     Dim iOffset As Integer

iCol = 19  '19 is Column S     iOffset = 1 'Positives go right, negatives go left     Set rng = Intersect(Selection.CurrentRegion, Columns(iCol))

For Each rCell In rng         If InStr(rCell.Formula, "SUBTOTAL") Then             rCell.Offset(0, iOffset).Formula = _                 rCell.Formula             rCell.ClearContents         End If     Next End Sub

Este ejemplo funciona examinando cada celda seleccionada en la columna S. Si la fórmula en la celda contiene la palabra SUBTOTAL, entonces la fórmula se copia una columna a la derecha, en la columna T, y se elimina de la celda en la columna S. Puede cambiar la distancia hacia la izquierda o hacia la derecha a la que se mueven los subtotales simplemente cambiando el valor asignado a la variable iOffset.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (8643) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Moving_Subtotals [Moving Subtotals].