我在一家研究所工作,在这里,我们完成研究后,会生成一个数据库。从这个数据库中,我们需要进行一些交叉,例如,取出包含性别的列,并将其与电子表格中的所有其他列交叉,并且对于每个交叉,都必须创建一个新的动态表,所有这些都在同一个表中电子表格,是否可以创建一个循环来遍历表格的列并将 Y 轴固定为性别?并使用该行的已识别列作为计数器。
我编写了一个代码来创建数据透视表,但我无法包含此循环或这种遍历所有列的方式。
Sub criarTabelaDinamica()
Dim TabRange As Range
Dim TabCache As PivotCache 'Tipo dados para Tabela Dinâmica
Dim TabDin As PivotTable 'Tipo para Tabela Dinâmica
Set TabRange = Cells(1, 1).CurrentRegion 'Associar intervalo com dados à variável
'Define a fonte de dados da Tabela Dinâmica (que ficará em cache)
Set TabCache = ActiveWorkbook.PivotCaches _
.Create(SourceType:=xlDatabase, SourceData:=TabRange)
ActiveWorkbook.Sheets.Add 'Adiciona uma nova planilha, que se torna ativa
ActiveSheet.Name = "TabelaDinamica"
'Inserir a Tabela Dinâmica na planilha
Set TabDin = TabCache.CreatePivotTable _
(TableDestination:=Cells(1, 1), TableName:="TabelaDinamica1")
'Adiciona o item aos títulos da linha
TabDin.PivotFields("Ano").Orientation = xlRowField
'Adiciona o item aos títulos da coluna
TabDin.PivotFields("Região").Orientation = xlColumnField
'Inserir dados agregados de Quantidade pela soma
With TabDin.PivotFields("Quantidade")
.Orientation = xlDataField
.Function = xlSum
End With
End Sub