【问题标题】:Macro: Transposing issue宏:转置问题
【发布时间】:2013-07-29 01:04:00
【问题描述】:

想知道是否有人可以帮助我解决这个问题

使用 VBA,我设置了一个宏,首先将数据透视表转换到另一个工作表中,然后自动将数据修改为一个整洁的小列表,供用户稍后在数据库中设置。

现在,在第一次为数据透视表构建它之后,它实现了梦想并给了我想要的结果,但是每当我更新数据透视表并改变它的长度时,我就开始遇到问题。希望这些屏幕截图会有所帮助:

你不需要知道那里的信息,但是宏在这里要做的是转置整个枢轴,这可以通过双击总计的横截面或右键单击单元格并选择显示来完成一切的细节。 (以黄色突出显示)

目前获取该单元格的代码设置为:

Range("AA65").Select
Selection.ShowDetail = True 

这是我意识到它是固定的(目前以红色突出显示的地方),我不知道如何通过使宏适应数据透视表的不同长度来解决它,以便它可以转置里面的所有内容。如果有帮助,总计将始终位于该特定行上,它只是最终发生变化的列。

有没有一种方法可以让我创建一个代码,无论它延伸到多少列,我都可以始终拾取枢轴中的总计单元格?

感谢您的阅读,我希望尽快得到反馈:)

亲切的问候

佐伊

【问题讨论】:

  • 要获取最后使用的列,请执行 Activesheet.Cells(rnum, Columns.Count).end(xltoleft).Column,其中 rnum 是行号。要获取最后使用的行,请执行 Activesheet.Cells(Rows.Count,cnum).end(xlup).Row,其中 cnum 是列号。希望这会有所帮助。

标签: excel excel-2010 pivot-table transpose vba


【解决方案1】:

例如

   With ActiveSheet.PivotTables(1).TableRange1
    .Cells(.Cells.Count).ShowDetail = True
   End With

【讨论】:

  • 你有它,测试和工作完美,恢复正常^_^非常感谢乔西,你为我节省了很多时间:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多