Eu tenho uma folha de excel que tem um número de entidades que são definidas pelo seu 'Número de trabalho'. No entanto, eu preciso de várias linhas por trabalho, o que significa que a coluna acaba tendo duplicatas, como em
Existe uma maneira de combinar cada grupo de número de trabalho idêntico para que eles sejam uma linha 'única'? é o que é o layout preferido.
Nota: Cada trabalho é garantido como 3 linhas, por isso seguirá sempre o mesmo padrão. Existe uma maneira de fazer isso?
microsoft-excel
microsoft-excel-2013
Maxim Srour
fonte
fonte
Respostas:
Tente 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
fonte
Pode ser feito facilmente usando macro ou VBA, Edite abaixo código em VBA como por sua exigência.
Alcance ("A1: A3"). Selecione Com seleção .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False ORIENTAÇÃO = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False Fim com Selection.Merge Com seleção .HorizontalAlignment = xlCenter
fonte
Range("A1:A3")
está definindo o intervalo como absoluto. Como eu precisaria fazer isso para cada grupo de linhas, como eu faria isso?