'Mesclando células' em uma tabela


0

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

this picture

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.

Preferred Layout

Nota: Cada trabalho é garantido como 3 linhas, por isso seguirá sempre o mesmo padrão. Existe uma maneira de fazer isso?


Você pode usar o VBA para mesclar as células e centralizar o conteúdo.
Ron Rosenfeld

Bem, a razão pela qual eu quero usar uma tabela para isso é para que as fórmulas em outras colunas possam ser preenchidas completamente. Eu não tenho 100% de certeza de como eu gostaria de configurar isso no VBA
Maxim Srour

Você não pode mesclar células em um Mesa . Tem que ser um?
Daniel B

Você poderia apresentar a visualização desejada em uma tabela dinâmica tabular separada?
Mark Fitzgerald

Idealmente, seria uma tabela, uma vez que existem colunas calculadas por toda parte, e dado que apenas adicionando uma 'linha' ao final não estenderia a fórmula, torna-se difícil para os usuários da planilha do excel trabalhar com ela. Eu estou essencialmente tentando simplificar a planilha para que eles não possam cometer tantos erros e reduzir a redundância de dados. O @MarkFitzgerald não tem como isso ser uma tabela dinâmica. Eu experimentei o uso deles, mas simplesmente não funcionaria
Maxim Srour

Respostas:


2

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

enter image description here


-1

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


Range("A1:A3") está definindo o intervalo como absoluto. Como eu precisaria fazer isso para cada grupo de linhas, como eu faria isso?
Maxim Srour
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.