我有一些显示在数据透视表中的数据,从我目前复制的数据透视表中将它们粘贴到另一个表中,并将其粘贴到当前相应的当天,有这么多操作数,每天需要1小时才能完成此过程,我我试图制作一个宏,帮助我在更短的时间内完成这个过程
这是我复制数据的数据透视表
这里是我粘贴的地方(在这个表中我用它来创建一些图表)
这两个表都包含许多不同的操作数,因为您可以想象这非常繁琐。
任何可以帮助我解决此问题的帮助或想法都值得赞赏,我愿意尝试其他替代方案,例如fomulas, vba(首选),甚至是cx的closedxml。
我不知道我是否在解释自己? 这是我的逻辑。
现在我只专注于Operation1,因为在Operation2中我使用另一张表格来做同样的事情。 (可能会使用与Operation1相同的代码)。
澄清我并不是要求别人给我解决方案(虽然很感激),但任何指南都有帮助。
答案 0 :(得分:1)
您不需要VBA来执行此操作。使用GETPIVOTDATA
。
请考虑以下复制数据:
在上面的示例中,我在屏幕截图中复制了一些数据,从中取出了一个数据透视图,将其放在同一张表格中,并将需要填入的表格放在其下方。然后我使用GETPIVOTDATA
。我觉得我需要告诉你它是如何完成的,即使它在我发布的链接中得到了很好的解释。
所以我们使用这个公式:
= GETPIVOTDATA("总和"& $ I18,$ I $ 2,"日期",17美元,"选择",$ I $ 16, "标识",$ $Ĵ16)
Cell J14
中的。请注意,我们使用的是实际日期,而不是在目的地表上使用第1天,第2天......等。为什么?因为我们在GETPIVOTDATA
公式中需要它。然后将公式复制到其余的单元格中。
<强>结果:强>
现在,GETPIVOTDATA
如果找不到与您提供的条件匹配的内容,则会出错,因此您可能希望使用IFERROR
语句合并错误处理。
最终公式:
= IFERROR(GETPIVOTDATA(&#34;&#34;&amp; $ I18,$ I $ 2,&#34;日期&#34; J $ 17,&#34;选项&#34;,$ I) $ 16&#34;标识&#34;,$ $Ĵ16),0)
虽然您更喜欢VBA,但我认为比内置Excel功能更好的方法更适合您的情况。