Visual Basic para Aplicaciones - Tabla dinámica VBA

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Tabla dinámica VBA

Publicado por emmanuel (6 intervenciones) el 24/11/2016 00:02:50
Buen día

Llevo 2 dias buscando el error y aunque no me marca algún fallo en código, no inserta la tabla dinámica en la Hoja "Tabla Dinámica" corre el código pero no aparece la Tabla por ningun lugar. Aquí muestro el cod:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Dim PCache As PivotCache
Dim TDinamica As PivotTable
 
'Eliminar Hoja (Si Existe)
On Error Resume Next
Worksheets("TablaDinamica").Delete
 
'Crear Hoja TablaDinamica
Worksheets.Add(Before:=ActiveSheet).Name = "TablaDinamica"
 
'CREAR PIVOTCACHE
Set PCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, SourceData:="Hoja1(2)!R3C1:R40000C21", Version:=xlPivotVersion12)
 
'CREA TABLA DINAMICA
Set TDinamica = PCache.CreatePivotTable( _
TableDestination:="TablaDinamica!R3C1", TableName:="Tabla dinámica2")
 
'PCache.Format xlReport4
'PCache.ManualUpdate = True
 
With TDinamica.PivotTables("Tabla dinámica1").PivotFields("MOV")
    .Orientation = xlPageField
    .Position = 1
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("CATALOGO")
    .Orientation = xlPageField
    .Position = 1
End With


Please ayuda urgente, me urge!!!


Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Tabla dinámica VBA

Publicado por Oscar Rubió (19 intervenciones) el 24/11/2016 18:37:43
Prueba con esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Dim PCache As PivotCache
 
Dim TDinamica As PivotTable
 
 
 
'Eliminar Hoja (Si Existe)
 
On Error Resume Next
 
Worksheets("TablaDinamica").Delete
 
 
 
'Crear Hoja TablaDinamica
 
Worksheets.Add(Before:=ActiveSheet).Name = "TablaDinamica"
 
 
 
'CREAR PIVOTCACHE
 
Set PCache = ActiveWorkbook.PivotCaches.Create( _
 
SourceType:=xlDatabase, SourceData:="Hoja1(2)!R3C1:R40000C21", Version:=xlPivotVersion12)
 
 
 
'CREA TABLA DINAMICA
 
With PCache
     .CreatePivotTable( TableDestination:="TablaDinamica!R3C1", TableName:="Tabla dinámica2", Version:=xlPivotVersion12)
End with
 
 
'PCache.Format xlReport4
 
'PCache.ManualUpdate = True
 
 
 
With TDinamica.PivotTables("Tabla dinámica1").PivotFields("MOV")
 
    .Orientation = xlPageField
 
    .Position = 1
 
End With
 
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("CATALOGO")
 
    .Orientation = xlPageField
 
    .Position = 1
 
End With
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tabla dinámica VBA

Publicado por Emmanuel (6 intervenciones) el 24/11/2016 19:52:55
no mi hermano misión fallida, inserta la hoja y corre el código sin marcar errores, pero no inserta ni la tabla Dinámica en blanco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tabla dinámica VBA

Publicado por Oscar Rubió (19 intervenciones) el 27/11/2016 13:28:17
Este código funciona:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
On Error Resume Next
 
Worksheets("TablaDinamica").Delete
 
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name="TablaDinamica"
Sheets("TablaDinamica").Select
 
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "Hoja1(2)!R3C1:R40000C21", Version:=xlPivotVersion12).CreatePivotTable _
    TableDestination:=Range("A3"), TableName:="miNombre", _
    DefaultVersion:=xlPivotTableVersion12
 
With ActiveSheet.PivotTables("miNombre").PivotFields("MOV")
    .Orientation=xlPageField
    .Position = 1
End With

Donde pone miNombre puedes poner el nombre que quieras para la tabla, y también añadir los campos (Fileds) que quieras.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar