Tablas Dinámicas con VBA Excel.

03/10/2006 - 22:32 por Daniel R | Informe spam
Saludos Programadores

Tengo una tabla dinámica en Excel 2003 cuyo origen de datos es un vista en
Sql Server 2000. Esta Tabla Dinámica (Pivot Table), tiene un "campo de
página" el cuál deseo cambiar de valor mediante VBA. Es decir, seleccionar un
valor de la lista de este campo mediante código en VBA.

Muchas gracias

Daniel R.
Caracas - Venezuela.
 

Leer las respuestas

#1 Héctor Miguel
04/10/2006 - 06:25 | Informe spam
hola, Daniel !

... tabla dinamica... origen de datos... en Sql Server 2000
... tiene un "campo de pagina"... deseo cambiar de valor mediante VBA
... seleccionar un valor de la lista de este campo mediante codigo en VBA.



1) la siguiente instruccion establece como valor 'seleccionado' del campo de pagina 1: -> (Todos)
-> [toma nota que 'este' elemento debe ser en ingles si se utiliza por codigo vba: -> (All) :D

ActiveSheet.PivotTables(1).PageFields(1).CurrentPage = "(all)"

2) si suponemos que sabes/conoces/... [+/- exactamente] el nombre/valor del elemento 'a seleccionar'...
solo sustituye el dato entre comillas -> "(all)" por el dato 'real' que necesitas ;)

3) si suponemos que NO sabes/conoces/... cuales son los elementos 'seleccionables'... -?-
el siguiente ejemplo te los muestra en un cuadro de mensajes [obviamente, puedes utilizar matrices, etc.]

Dim Sig As Byte, Msj As String
With ActiveSheet.PivotTables(1).PageFields(1)
Msj = "Elementos de " & .Name
For Sig = 1 To .PivotItems.Count
Msj = Msj & vbCr & Sig & ") " & .PivotItems(Sig).Name
Next
End With
MsgBox Msj

4) si suponemos que 'la cosa' [en la realidad] es ligeramente menos... 'sencilla' -?-
-> ya puedes comenzar a proporcionar los detalles faltantes ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares