Redesenhador de Tabelas

Conteúdo

Não é nenhum segredo que a maioria dos usuários do Excel, ao criar tabelas em planilhas, pensa antes de tudo em seu próprio conforto e conveniência. Assim nascem lindas, coloridas e complicadas tabelas com “cabeçalhos” complexos, que ao mesmo tempo não podem ser filtrados ou ordenados, e é melhor nem pensar em um relatório automático com tabela dinâmica.

Mais cedo ou mais tarde, o usuário de tal mesa chega à conclusão de que “pode não ser tão bonita, mas pode funcionar” e começa a simplificar o design de sua mesa, alinhando-a às recomendações clássicas:

  • um cabeçalho simples de uma linha, onde cada coluna terá seu próprio nome exclusivo (nome do campo)
  • uma linha – uma operação concluída (negócio, venda, lançamento, projeto, etc.)
  • sem células mescladas
  • sem quebras na forma de linhas e colunas vazias

Mas se você fizer um cabeçalho de uma linha de um multinível ou dividir uma coluna em várias, é bastante simples, então a reconstrução da tabela pode levar muito tempo (especialmente em tamanhos grandes). Significa a seguinte situação:

Of     Redesenhador de Tabelas   do     Redesenhador de Tabelas  

Em termos de bancos de dados, a tabela certa geralmente é chamada de flat (flat) – é de acordo com essas tabelas que é melhor criar relatórios de tabelas dinâmicas (tabelas dinâmicas) e realizar análises.

Você pode converter uma tabela bidimensional em uma tabela plana usando uma macro simples. Abra o Editor do Visual Basic através da guia Desenvolvedor – Visual Basic (Desenvolvedor — Editor do Visual Basic) ou atalho de teclado outro+F11. Insira um novo módulo (Inserir - Módulo) e copie o texto desta macro para lá:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Сколько строк с подписями сверху?") hc = InputBox("Сколько столбцов с подписями слева?") Application.ScreenUpdating = False i = 1 Set inpdata = Selection Set ns = Worksheets.Add Para r = (hr + 1) Para inpdata.Rows.Count Para c = (hc + 1) Para inpdata.Columns.Count Para j = 1 Para hc ns. Cells(i, j) = inpdata.Cells(r, j) Próximo j Para k = 1 Para hr ns.Cells(i, j + k - 1) = inpdata.Cells(k, c) Próximo k ns.Cells( i, j + k - 1) = inpdata.Cells(r, c) i = i + 1 Próximo c Próximo r End Sub  

Você pode então fechar o editor VBA e retornar ao Excel. Agora podemos selecionar a tabela original (completamente, com um cabeçalho e a primeira coluna com meses) e executar nossa macro Desenvolvedor – Macros (Desenvolvedor — Macros) ou combinação de pressão outro+F8.

A macro inserirá uma nova planilha no livro e criará uma nova versão reconstruída da tabela selecionada nela. Você pode trabalhar com essa tabela “na íntegra”, usando todo o arsenal de ferramentas do Excel para processar e analisar grandes listas.

  • O que são macros, onde inserir código de macro no VBA, como usá-los
  • Criando relatórios com tabelas dinâmicas
  • Ferramenta para redesenhar tabelas XNUMXD para tabelas planas do complemento PLEX

 

Deixe um comentário