Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 宏:转置问题_Excel_Excel 2010_Pivot Table_Transpose_Vba - Fatal编程技术网

Excel 宏:转置问题

Excel 宏:转置问题,excel,excel-2010,pivot-table,transpose,vba,Excel,Excel 2010,Pivot Table,Transpose,Vba,不知道有没有人能帮我做这个 使用VBA,我设置了一个宏,首先将数据透视表转换到另一个表中,然后自动将数据整理到一个整洁的小列表中,供用户稍后在数据库中设置 现在,在第一次为pivot表构建它之后,它实现了一个梦想,并给了我想要的结果,但是每当我更新pivot表并更改其长度时,我就开始出现问题。希望这些屏幕截图将有助于: 您不需要知道那里的信息,但是宏在这里要做的是转换整个轴,这可以通过双击总计的横截面或右键单击单元格并选择“显示所有内容的详细信息”来完成。(以黄色突出显示) 目前,获取该单元格

不知道有没有人能帮我做这个

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

现在,在第一次为pivot表构建它之后,它实现了一个梦想,并给了我想要的结果,但是每当我更新pivot表并更改其长度时,我就开始出现问题。希望这些屏幕截图将有助于:

您不需要知道那里的信息,但是宏在这里要做的是转换整个轴,这可以通过双击总计的横截面或右键单击单元格并选择“显示所有内容的详细信息”来完成。(以黄色突出显示)

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

Range("AA65").Select
Selection.ShowDetail = True 
这就是我意识到它是固定的(现在是红色突出显示的位置),我不知道如何通过使宏适应透视表的不同长度来解决它,以便它可以转置透视表中的所有内容。如果有帮助的话,总计将总是在特定的行上,而只是在最后更改的列上

有没有一种方法可以让我创建一个代码,无论它延伸到多少列,我都可以在pivot中提取总单元格

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

问候

例如,佐伊

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

要获取最后使用的列,请执行Activesheet.Cells(rnum,Columns.Count).end(xltoleft).column,其中rnum是行号)。要获取最后使用的行,请执行Activesheet.Cells(Rows.Count,cnum).end(xlup).row,其中cnum是列号)。希望这能帮上忙。你已经有了它,经过测试,工作正常了。^ ^非常感谢你,乔西,你为我节省了很多时间:)