将值从数据透视表复制到特定单元格中的工作表

时间:2015-04-21 21:31:59

标签: c# excel vba excel-vba pivot-table

我有一些显示在数据透视表中的数据,从我目前复制的数据透视表中将它们粘贴到另一个表中,并将其粘贴到当前相应的当天,有这么多操作数,每天需要1小时才能完成此过程,我我试图制作一个宏,帮助我在更短的时间内完成这个过程

这是我复制数据的数据透视表

Pivot Table

这里是我粘贴的地方(在这个表中我用它来创建一些图表)

enter image description here

这两个表都包含许多不同的操作数,因为您可以想象这非常繁琐。

任何可以帮助我解决此问题的帮助或想法都值得赞赏,我愿意尝试其他替代方案,例如fomulas, vba(首选),甚至是cx的closedxml。

我不知道我是否在解释自己? 这是我的逻辑。

  1. 查找操作编号
  2. “Sx”的复制总和
  3. 在其他工作表中查找相同的操作编号。
  4. 在相应的日期粘贴值。
  5. 查找下一个“Sx”的相同操作号 。
    点。
  6. 结束
  7. 现在我只专注于Operation1,因为在Operation2中我使用另一张表格来做同样的事情。 (可能会使用与Operation1相同的代码)。

    澄清我并不是要求别人给我解决方案(虽然很感激),但任何指南都有帮助。

1 个答案:

答案 0 :(得分:1)

您不需要VBA来执行此操作。使用GETPIVOTDATA

请考虑以下复制数据:

enter image description here

在上面的示例中,我在屏幕截图中复制了一些数据,从中取出了一个数据透视图,将其放在同一张表格中,并将需要填入的表格放在其下方。然后我使用GETPIVOTDATA。我觉得我需要告诉你它是如何完成的,即使它在我发布的链接中得到了很好的解释。

所以我们使用这个公式:

  

= GETPIVOTDATA("总和"& $ I18,$ I $ 2,"日期",17美元,"选择",$ I $ 16, "标识",$ $Ĵ16)

Cell J14中的

。请注意,我们使用的是实际日期,而不是在目的地表上使用第1天,第2天......等。为什么?因为我们在GETPIVOTDATA公式中需要它。然后将公式复制到其余的单元格中。

<强>结果:

enter image description here

现在,GETPIVOTDATA如果找不到与您提供的条件匹配的内容,则会出错,因此您可能希望使用IFERROR语句合并错误处理。

最终公式:

  

= IFERROR(GETPIVOTDATA(&#34;&#34;&amp; $ I18,$ I $ 2,&#34;日期&#34; J $ 17,&#34;选项&#34;,$ I) $ 16&#34;标识&#34;,$ $Ĵ16),0)

虽然您更喜欢VBA,但我认为比内置Excel功能更好的方法更适合您的情况。