excel 如何选择工作表中的单元格来创建透视表?

unftdfkk  于 2023-02-05  发布在  其他
关注(0)|答案(2)|浏览(134)

我想创建一个数据透视表。最终我将使用Power Automate使它每天运行。
我使用Excel中的记录宏来计算如何创建数据透视表。

Range("A1:W37").Select
Application.CutCopyMode = False
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "Sheet1!R1C1:R37C23", Version:=8).CreatePivotTable TableDestination:= _
    "Sheet19!R3C1", TableName:="PivotTable2", DefaultVersion:=8
Sheets("Sheet19").Select
Cells(3, 1).Select

如何选择工作表中的所有单元格并将它们存储在变量中?
然后我可以将该变量放在SourceData:= _之后(这将替换代码“Sheet 1!R1 C1:R37 C23”)。
我在网上发现我可以选择所有有数据的单元格:

Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
puruo6ea

puruo6ea1#

你可以这样做:

Sub Tester()
    
    Dim ws As Worksheet, wsPT As Worksheet, rngData As Range, wb As Workbook
    Dim pc As PivotCache, pt As PivotTable
    
    Set wb = ActiveWorkbook   'or some other specific workbook
    Set ws = wb.Worksheets(1) 'or some other specific sheet
    
    'same as selecting A1 and pressing Ctrl+A
    Set rngData = ws.Range("A1").CurrentRegion
    
    Set wsPT = wb.Worksheets.Add() 'get a reference to the new sheet
    
    'create pivot cache
    Set pc = wb.PivotCaches.Create(SourceType:=xlDatabase, _
                           SourceData:=rngData, Version:=8)
    'create pivot table
    Set pt = pc.CreatePivotTable(TableDestination:=wsPT.Range("A3"), _
                      TableName:="PivotTable2", DefaultVersion:=8)
    
    'work with `pt`....
End Sub

如果将透视缓存和透视表的创建分为单独的步骤,则可以获得更多的控制。

2hh7jdfx

2hh7jdfx2#

您可以在此URL中找到大量Excel-VBA-Pivot资源。
https://www.contextures.com/
此外,考虑记录一个宏,因为你点击通过步骤,你需要做的,并学习代码的宏记录器生成.我保证你会学到很多从这些类型的练习.

相关问题