Olá, estou com um problema na criação das tabelas dinâmicas, pois toda vez que a macro é executada, a base de dados está com um tamanho diferente, então preciso criar uma nova tabela dinâmica a cada execução. O meu problema é deixar o range de seleção variável, se é que tem como fazer.
Segue a macro gravada, mas mesmo com os comandos selection.end na hora de criar a tabela ele fixa o range: ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"BASE EM APROVAÇÃO!R1C1:R274C35", Version:=xlPivotTableVersion14). _
CreatePivotTable TableDestination:="Plan1!R3C1", TableName:= _
"Tabela dinâmica5", DefaultVersion:=xlPivotTableVersion14
Eu quero deixar a parte "BASE EM APROVAÇÃO!R1C1:R274C35" com range variável, como por exemplo : "BASE EM APROVAÇÃO!R1C1:R[variável]C35"
Tem como?
Sub dinamicaaprovacao()
'
' Tabela Dinâmica da Base em Aprovação
'
Sheets("BASE EM APROVAÇÃO").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"BASE EM APROVAÇÃO!R1C1:R274C35", Version:=xlPivotTableVersion14). _
CreatePivotTable TableDestination:="Plan1!R3C1", TableName:= _
"Tabela dinâmica5", DefaultVersion:=xlPivotTableVersion14
Sheets("Plan1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tabela dinâmica5").PivotFields("CATEGORIA PAI")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tabela dinâmica5").PivotFields("Tipo de venda")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tabela dinâmica5").AddDataField ActiveSheet. _
PivotTables("Tabela dinâmica5").PivotFields("Valor Absoluto"), _
"Soma de Valor Absoluto", xlSum
With ActiveSheet.PivotTables("Tabela dinâmica5").PivotFields( _
"Soma de Valor Absoluto")
.NumberFormat = "R$ #.##0,00"
End With
Sheets("Plan1").Select
Sheets("Plan1").Name = "Dinâmica em Aprovação"
Sheets("Dinâmica em Aprovação").Select
With ActiveWorkbook.Sheets("Dinâmica em Aprovação").Tab
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.399975585192419
End With
End Sub
Postado : 06/06/2014 11:33 am