Excel有多张数据透视表,利用这几张数据透视表中的数据快速制作一份报表。

有3个数据透视化表,要求制作一份日报表,在制作日报表中的内容包括了这几个数据透视表中的某些数据,有没有方法能够快速的通过公式或VBA解决,不想复制粘贴。
(注:不知道为什么那个表的关系创建不了)

引用 皆我百晓生 小程序回复内容作答:
是的,你可以使用Excel的VBA(Visual Basic for Applications)来自动化生成报表并提取数据透视表中的相关数据。下面是一个使用VBA的例子来实现这个任务:

  1. 打开Excel并按下 "Alt + F11" 打开VBA编辑器。
  2. 在VBA编辑器中,点击 "插入",然后选择 "模块"。
  3. 在新创建的模块中,输入以下代码:
Sub GenerateReport()

    Dim wsReport As Worksheet
    Dim wsPivot1 As Worksheet
    Dim wsPivot2 As Worksheet
    Dim wsPivot3 As Worksheet
    
    ' 设置报表工作表
    Set wsReport = ThisWorkbook.Sheets("报表")
    
    ' 设置数据透视表工作表
    Set wsPivot1 = ThisWorkbook.Sheets("数据透视表1")
    Set wsPivot2 = ThisWorkbook.Sheets("数据透视表2")
    Set wsPivot3 = ThisWorkbook.Sheets("数据透视表3")
    
    ' 复制数据透视表1的数据到报表
    wsPivot1.Range("A1").Copy Destination:=wsReport.Range("A1")
    
    ' 复制数据透视表2的数据到报表
    wsPivot2.Range("A1").Copy Destination:=wsReport.Range("A10")
    
    ' 复制数据透视表3的数据到报表
    wsPivot3.Range("A1").Copy Destination:=wsReport.Range("A20")
    
    ' 清空剪贴板
    Application.CutCopyMode = False
    
    ' 清除剪贴板中的格式
    wsReport.Columns("A").PasteSpecial Paste:=xlPasteFormats
    
    ' 选择报表工作表
    wsReport.Activate
    
End Sub
  1. 将上述代码复制到VBA编辑器中,并保存文件。
  2. 在Excel中创建一个新的工作表,命名为 "报表"。
  3. 运行宏:在Excel中按下 "Alt + F8" 打开 "宏" 窗口,选择 "GenerateReport" 宏,并点击 "运行"。
  4. 这将会自动生成一份报表,并且从数据透视表1、数据透视表2、数据透视表3中复制数据到报表中的不同区域。你可以根据需要自行调整数据的复制位置。

请注意,为了使上述代码正常运行,你需要将模块中的 "报表"、"数据透视表1"、"数据透视表2"、"数据透视表3" 指定为你实际使用的工作表名称。此外,如果你的数据透视表的结构发生变化,你可能需要调整代码中的复制位置和范围。

希望以上信息对你有所帮助!