'Combinar celdas' en una tabla

0

Tengo una hoja de Excel que tiene una serie de entidades que están definidas por su 'Número de trabajo'. Sin embargo, necesito varias filas por trabajo, lo que significa que la columna termina teniendo duplicados, como en

esta imagen

¿Hay alguna manera de combinar cada grupo de número de trabajo idéntico para que sean una fila 'única'? es el diseño preferido.

Diseño preferido

Nota: Se garantiza que cada trabajo tendrá 3 filas, por lo que siempre seguirá el mismo patrón. ¿Hay alguna forma de hacer esto?

Maxim Srour
fuente
Puede usar VBA para fusionar las celdas y centrar los contenidos.
Ron Rosenfeld
Bueno, la razón por la que quiero usar una tabla para esto es para que las fórmulas en otras columnas se puedan llenar por completo. No estoy 100% seguro de cómo haría para configurar eso en VBA
Maxim Srour
No puede fusionar celdas en una tabla . ¿Tiene que ser uno?
Daniel B
¿Podría presentar la vista deseada en una tabla dinámica tabular separada?
Mark Fitzgerald
Idealmente, sería una tabla, ya que hay columnas calculadas en todo momento, y dado que solo agregar una 'fila' al final no ampliaría la fórmula, dificulta que los usuarios de la hoja de Excel trabajen con ella. Básicamente, estoy tratando de simplificar la hoja para que no puedan cometer tantos errores y reducir la redundancia de datos. @ MarkFitzgerald no hay forma de que esto sea una tabla dinámica. He experimentado con el uso de ellos, pero simplemente no funcionaría
Maxim Srour

Respuestas:

2

Prueba este código:

Sub Test() TitleRow = 1 'if title contain more than one row, change the value 1 to the actual number of rows i = 0 Application.DisplayAlerts = False Do Set StartCell = ActiveSheet.Range("A" & (TitleRow + 3 * i + 1)) Set EndCell = ActiveSheet.Range("A" & (TitleRow + 3 * i + 3)) With ActiveSheet.Range(StartCell, EndCell) .Merge .VerticalAlignment = xlCenter .HorizontalAlignment = xlCenter End With i = i + 1 Loop Until Range("A" & (TitleRow + 3 * i) + 1) = "" Application.DisplayAlerts = True End Sub

ingrese la descripción de la imagen aquí

Sotavento
fuente
-1

Se puede hacer fácilmente usando macro o VBA, edite el siguiente código en VBA según sus requisitos.

Rango ("A1: A3"). Seleccione con selección. Alineación horizontal = xlCenter. Alineación vertical = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = FalseCells = FalseCells = Selection.Merge With Selection .HorizontalAlignment = xlCenter

Stuart
fuente
Range("A1:A3")está definiendo el rango como un absoluto. Como tendría que hacerlo para cada grupo de filas, ¿cómo haría eso?
Maxim Srour