表重新设计器

内容

大多数 Excel 用户在工作表上创建表格时,首先考虑自己的舒适度和便利性,这已不是什么秘密。 漂亮、多彩和繁琐的带有复杂“标题”的表格就这样诞生了,同时,这些表格根本无法过滤或排序,最好不要考虑带有数据透视表的自动报表。

这样一张桌子的用户迟早会得出“它可能不那么漂亮,但它可以工作”的结论,并开始简化他的桌子设计,使其符合经典建议:

  • 一个简单的单行标题,其中每一列都有自己唯一的名称(字段名称)
  • 一条线 - 一项已完成的操作(交易、销售、发布、项目等)
  • 没有合并的单元格
  • 没有空行和空列形式的中断

但是如果你把一个多级的表头做成单行表头,或者将一列拆分成几列,这很简单,那么表重建可能会花费很多时间(尤其是在大尺寸时)。 这意味着以下情况:

Of     表重新设计器   do     表重新设计器  

在数据库方面,右表通常称为平面(flat)——最好是根据这样的表来构建数据透视表(pivot table)的报表并进行分析。

您可以使用简单的宏将二维表转换为平面表。 通过选项卡打开 Visual Basic 编辑器 开发人员——Visual Basic (开发者——Visual Basic 编辑器) 或键盘快捷键 其他+F11. 插入一个新模块(插入 - 模块) 并在此处复制此宏的文本:

Sub Redesigner() Dim i As Long Dim hc As Integer, hr As Integer Dim ns As Worksheet hr = InputBox("Сколько строк с подписями сверху?") hc = InputBox("Сколько столбцов с подписями слева?") Application.ScreenUp False i = 1 设置 inpdata = 选择集 ns = Worksheets.Add For r = (hr + 1) To inpdata.Rows.Count For c = (hc + 1) To inpdata.Columns.Count For j = 1 To hc ns。 Cells(i, j) = inpdata.Cells(r, j) Next j For k = 1 To hr ns.Cells(i, j + k - 1) = inpdata.Cells(k, c) Next k ns.Cells( i, j + k - 1) = inpdata.Cells(r, c) i = i + 1 Next c Next r End Sub  

然后您可以关闭 VBA 编辑器并返回 Excel。 现在我们可以选择原始表(完全是,带有标题和带有月份的第一列)并运行我们的宏 开发人员 – 宏 (开发者——宏) 或按组合 其他+F8.

宏将在书中插入一张新工作表,并在其上创建所选表格的新重建版本。 您可以使用整个 Excel 工具库来处理和分析大型列表,从而“完整地”使用这样的表格。

  • 什么是宏,在 VBA 中插入宏代码的位置,如何使用它们
  • 使用数据透视表创建报表
  • 从 PLEX 插件中将 XNUMXD 表重新设计为平面表的工具

 

发表评论