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
¿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.
Nota: Se garantiza que cada trabajo tendrá 3 filas, por lo que siempre seguirá el mismo patrón. ¿Hay alguna forma de hacer esto?
microsoft-excel
microsoft-excel-2013
Maxim Srour
fuente
fuente
Respuestas:
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
fuente
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
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?