Redeseñador de mesas

Contidos

Non é ningún segredo que a maioría dos usuarios de Excel, ao crear táboas en follas, pensan en primeiro lugar na súa comodidade e comodidade. Así nacen táboas fermosas, coloridas e engorrosas con "cabeceiras" complexas que, ao mesmo tempo, non se poden filtrar nin ordenar en absoluto, e é mellor non pensar nun informe automático cunha táboa dinámica.

Tarde ou cedo, o usuario desta táboa chega á conclusión de que "non pode ser tan bonito, pero pode funcionar" e comeza a simplificar o deseño da súa mesa, axustándoa ás recomendacións clásicas:

  • un encabezado sinxelo dunha liña, onde cada columna terá o seu propio nome único (nome de campo)
  • unha liña: unha operación completada (trato, venda, publicación, proxecto, etc.)
  • sen celas combinadas
  • sen quebras en forma de filas e columnas baleiras

Pero se fai un encabezado dunha liña a partir dun de varios niveis ou divide unha columna en varias, é bastante sinxelo, entón a reconstrución da táboa pode levar moito tempo (especialmente en tamaños grandes). Significa a seguinte situación:

Of     Redeseñador de mesas   do     Redeseñador de mesas  

En termos de bases de datos, a táboa correcta adoita chamarse plana (plana) - é segundo tales táboas que o mellor é crear informes de táboas dinámicas (táboas dinámicas) e realizar análises.

Podes converter unha táboa bidimensional nunha táboa plana usando unha macro sinxela. Abra o Editor de Visual Basic a través da pestana Desenvolvedor - Visual Basic (Desenvolvedor — Editor de Visual Basic) ou atallo de teclado alt+F11. Insira un novo módulo (Inserir – Módulo) e copie alí o texto desta macro:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Сколько строк с подписями сверху?") hc = InputBox("Сколько строк с подписями сверху?") hc = InputBox("Сколько строк с подписями сверху?") hc = InputBox("Сколько строк сколько строк Falso i = 1 Conxunto de inpdata = Conxunto de selección ns = Follas de traballo. Engadir para r = (hr + 1) Para inpdata.Filas.Contador Para c = (hc + 1) Para inpdata.Columnas.Contador Para j = 1 Para hc ns. Cells(i, j) = inpdata.Cells(r, j) Seguinte j Para k = 1 To hr ns.Cells(i, j + k - 1) = inpdata.Cells(k, c) Seguinte k ns.Cells( i, j + k - 1) = inpdata.Cell(r, c) i = i + 1 Seguinte c Seguinte r End Sub  

Despois podes pechar o editor de VBA e volver a Excel. Agora podemos seleccionar a táboa orixinal (completamente, cunha cabeceira e a primeira columna con meses) e executar a nosa macro Desenvolvedor - Macros (Desenvolvedor - Macros) ou combinación presionando alt+F8.

A macro inserirá unha nova folla no libro e creará nela unha nova versión reconstruída da táboa seleccionada. Podes traballar con tal táboa "completamente", usando todo o arsenal de ferramentas de Excel para procesar e analizar listas grandes.

  • Que son as macros, onde inserir o código de macros en VBA, como usalas
  • Creación de informes con táboas dinámicas
  • Ferramenta para redeseñar táboas XNUMXD a planas do complemento PLEX

 

Deixe unha resposta