使用VBA - excel创建小型自动化报告

时间:2017-11-21 16:08:49

标签: excel-vba vba excel

来自stackoverflow的社区已经帮助我完成了我的任务(创建一个宏,该表从任何数据中创建一个表并成为数据透视表)。虽然我的最终目标是使用宏来创建一个小型的自动化报告。

我接下来要做的是有一个宏,它接受这个例子"插入顺序"作为维度(进入行),然后是印象总和,点击总和和后点击转换总和。

看起来像https://imgur.com/a/JXkBV

 Sub graph1()

 graph1 Macro


    With ActiveSheet.PivotTables("PivotTable2").PivotFields("Insertion Order")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
        "PivotTable2").PivotFields("Impressions"), "Sum of Impressions", xlSum
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
        "PivotTable2").PivotFields("Clicks"), "Sum of Clicks", xlSum
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
        "PivotTable2").PivotFields("Post-Click Conversions"), _
        "Sum of Post-Click Conversions", xlSum
End Sub

从数据透视表创建此选择后,我想将此数据转换为单独的Excel工作表。我可以使用GetPivotdata来提取它(不确定)。

这是我需要的表格。

然后,我必须重复为数据透视表选择字段的过程,但这次不同,因为我想要选择不同的字段,显然用新的字段替换以前的字段。因此,我将通过使用" With"来获得一个新表。声明。

此示例中的结果将如下所示https://imgur.com/a/8f1M9 (以及代码下方)

   Sub Macronexttable()
'
' Macronexttable Macro
'

'
    ActiveSheet.PivotTables("PivotTable2").PivotFields("Sum of Impressions"). _
        Orientation = xlHidden
    ActiveSheet.PivotTables("PivotTable2").PivotFields( _
        "Sum of Post-Click Conversions").Orientation = xlHidden
    ActiveSheet.PivotTables("PivotTable2").PivotFields("Sum of Clicks"). _
        Orientation = xlHidden
    ActiveWindow.SmallScroll Down:=-3
    With ActiveSheet.PivotTables("PivotTable2").PivotFields("Line Item")
        .Orientation = xlRowField
        .Position = 2
    End With
    ActiveSheet.PivotTables("PivotTable2").PivotFields("Insertion Order"). _
        Orientation = xlHidden
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
        "PivotTable2").PivotFields("Impressions"), "Sum of Impressions", xlSum
End Sub

总结,步骤1)我想从数据透视表(代码的第一部分)中选择所选字段,将数据分成表格(让我们称之为"数据")

步骤2)将字段替换为其他字段(代码的第二部分),并将该数据也带到"数据"片材。

我非常感谢任何提示或者是否有人知道如何解决它。我可以想象,作为初学者,我让自己变得困难。

0 个答案:

没有答案