Como colocar un valor de una tabla dinámica en un TextBox

01/12/2007 - 20:39 por YAGUASO | Informe spam
Hola amigos requiero que alguien me indique como colocar un valor, que está
en Datos de una Tabla Dinámica (ejm Promedio de ventas), a un TextBox de un
UserForm (mediante VBA) con los datos seleccionados de dos ComboBoxes (ejm.
APELLIDOS, NOMBRE) que son los mismos del campo de Fila de la Tabla Dinámica.



ActiveSheet.PivotTables("Tabla dinámica1").AddFields RowFields:=Array( _
"APELLIDOS", "NOMBRE", "Datos")
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Promedio
Ventas")
.Orientation = xlDataField
.Position = 1
.Function = xlAverage
End With
ActiveWorkbook.ShowPivotTableFieldList = True
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("APELLIDOS")
.PivotItems("0").Visible = False
.PivotItems("PEREZ").Visible = False
.PivotItems("RODRIGUEZ”).Visible = False
.PivotItems("ROMITA").Visible = False
End With
With ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("NOMBRE")
.PivotItems("0").Visible = False
.PivotItems("CARLOS").Visible = False
.PivotItems("JUAN").Visible = False
.PivotItems("JULIAN").Visible = False
End With
End Sub

En definitiva lo que se requiere es colocar en un TextBox (de un UserForm1)
el Promedio de Ventas, de la Tabla dinámica 1, de un vendedor, seleccionando
los Ítems, APELLIDO y el NOMBRE (ejm González José) de dos ComboBoxes del
UserForm referido. Estos Ítems son los mismos de la Tabla dinámica.
Saludos……..O. Yaguas

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
02/12/2007 - 06:41 | Informe spam
hola, !

... como colocar un valor, que esta en Datos de una Tabla Dinamica (ejm Promedio de ventas)
a un TextBox de un UserForm (mediante VBA) con los datos seleccionados de dos ComboBoxes
(ejm. APELLIDOS, NOMBRE) que son los mismos del campo de Fila de la Tabla Dinamica.



1) la fraccion de codigo que expones no muestra el arreglo de tu tabla dinamica (pareciera no tener que ver con tu consulta) -?-
y no es claro si la TD la creas por el mismo codigo y/o se trata de la primera/unica TD en el libro (por el nombre de la TD)
ni por que es que le agregas (3) campos (adicionales ?) de fila a la misma por codigo
(supongo que el campo "promedio de ventas" es un campo de columna) -?-

2) tampoco se aprecia cual es el arreglo de los datos de origen de la TD (rangos, titulos en columna y tipo de datos)
o vienen de alguna consulta a bases de datos externas... o ???

3) asi... 'a bote pronto' y en virtud de los datos (des)conocidos...

op1: usar una celda auxiliar en la hoja donde esta la TD basada en la seleccion de los combox para:
a) usar la interseccion de titulos de fila y columna
b) usar la funcion de hoja de calculo =importardatosdinamicos(...)
c) probablemente otras que puedas despues vincular o mandar al textbox

op2: similar a lo anterior pero usando la funcion de vba Evaluate("texto_de_formula_en_ingles")

op3: (de plano) desarrollar codigo en vba para buscar la interseccion de los campos (fila y columna) de la TD
donde coinciden las selecciones de los combos

op4: revisa el apartado P (de pivot tables) de la siguiente pagina:
-> http://www.contextures.com/tiptech.html

-> probablemente hay mas alternativas, pero (insisto) como los datos que expones no son suficientes... -???-

saludos,
hector.

__ el resto de la consulta __



ActiveSheet.PivotTables("Tabla dinamica1").AddFields RowFields:=Array( _
"APELLIDOS", "NOMBRE", "Datos")
With ActiveSheet.PivotTables("Tabla dinamica1").PivotFields("Promedio Ventas")
.Orientation = xlDataField
.Position = 1
.Function = xlAverage
End With
ActiveWorkbook.ShowPivotTableFieldList = True
With ActiveSheet.PivotTables("Tabla dinamica1").PivotFields("APELLIDOS")
.PivotItems("0").Visible = False
.PivotItems("PEREZ").Visible = False
.PivotItems("RODRIGUEZâ€
Respuesta Responder a este mensaje
#2 YAGUASO
04/12/2007 - 02:06 | Informe spam
Hector Miguel Saludos

No es fácil explicar todo en tan poco espacio, pero te diré que no hay
problema con la Tabla Dinámica (TD), que es creada mediante el accionar de
un botón en un UserForm o forma.
En realidad lo que se requiere es traer a una caja de texto (en la forma) el
valor de la intersección de los campos de filas y columnas que coincidan con
campos variables que se seleccionan mediante un Combo por ejm
ComboBox1.RowSource = "Apellidos", todo esto mediante código en VBA.
Creo que la op1 es la que pudiera aplicar pero no tengo mayor información
que me pueda ayudar a desarrollar el código en VBA. Si conoces sobre este
requerimiento te agradeceria tu ayuda.

Saludos de nuevo Orlando
Respuesta Responder a este mensaje
#3 Héctor Miguel
05/12/2007 - 00:07 | Informe spam
hola, Orlando !

No es facil explicar todo en tan poco espacio, pero te dire que no hay problema con la Tabla Dinamica (TD)
que es creada mediante el accionar de un boton en un UserForm o forma.
En realidad lo que se requiere es traer a una caja de texto (en la forma) el valor de la interseccion
de los campos de filas y columnas que coincidan con campos variables que se seleccionan mediante un Combo
por ejm ComboBox1.RowSource = "Apellidos", todo esto mediante codigo en VBA.
Creo que la op1 es la que pudiera aplicar pero no tengo mayor informacion que me pueda ayudar a desarrollar el codigo en VBA.
Si conoces sobre este requerimiento te agradeceria tu ayuda...



debes tomar en consideracion que (de este lado del mensaje) SOLO se puede "ver" lo que expones en las consultas
(y +/- con la misma "claridad" con que expones los detalles que tu si estas viendo o conoces de tu situacion "real")

yo se que no (siempre) resulta facil exponer con pocas palabras "todo" el concepto de algun modelo :))
pero puedes "hablar en terminos de excel" si comentas los rangos, tipo de datos, orden en la TD, (y ese tipo de detalles)
lo que permitira a quien este del otro lado del mensaje la posibilidad de "armar" un arreglo de datos +/- "similar" a tu situacion
lo que (a su vez) permite aportar propuestas y/o alternativas para las posibles soluciones :))

los otros "caminos" son que subas un ejemplo en algun sitio de hospedaje (con instrucciones de la situacion a resolver)...
y/o "mandarte" a revisar paginas donde se tratan temas relacionados con la consulta hecha
ya que de otra forma, se tendria que "adivinar" (seguramente mas de lo necesario) y pocas veces se acierta :-(( (p.e.)

revisa el apartado P (de pivot tables) de la siguiente pagina:
-> http://www.contextures.com/tiptech.html

mas informacion acerca de las tablas dinamicas...
- informacion basica de MS en: http://tinyurl.com/5dvyq
- tutoriales y ejemplos (en castellano) en...
http://usuarios.lycos.es/cursoexcel2000/d4.htm
http://www.abcdatos.com/tutoriales/...l4927.html
- tutoriales y ejemplos (en ingles) en...
http://peltiertech.com/Excel/Pivots...tables.htm
http://www.cpearson.com/excel/pivots.htm
http://j-walk.com/ss/excel/usertips/tip068.htm

- ejemplos y tutoriales adicionales...
http://edferrero.m6.net/tutorials.html
http://office.microsoft.com/downloa...rtPiv.aspx
http://office.microsoft.com/assista...PT101.aspx

si cualquier duda (o informacion adiciona)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 YAGUASO
05/12/2007 - 21:04 | Informe spam
Hector Miguel Saludos
La Tabla Dinamica (TD) es creada mediante el accionar de un boton1 en un
UserForm y lo que se requiere es traer a varias caja de texto valores (Ap,
Sfp, ACP) (en la forma) de la interseccion de los campos de filas y columnas
que coincidan con campos (variables) que se seleccionan mediante el ComboBox1
y ComboBox2.
La macro que desarrollé funciona bien para un item fijo, pero no para una
variación de los modelos de los items que se deben seleccionar con los
ComboBox1 y ComboBox2.

Si tienes algún email te envío el archivo para que lo veas y me des alguna
sugerencia. SaludosOrlando
Respuesta Responder a este mensaje
#5 Héctor Miguel
05/12/2007 - 23:23 | Informe spam
hola, Orlando !

La Tabla Dinamica (TD) es creada mediante el accionar de un boton1 en un UserForm
y lo que se requiere es traer a varias caja de texto valores (Ap, Sfp, ACP) (en la forma)
de la interseccion de los campos de filas y columnas que coincidan con campos (variables)
que se seleccionan mediante el ComboBox1 y ComboBox2.
La macro que desarrolle funciona bien para un item fijo, pero no para una variacion de los modelos
de los items que se deben seleccionar con los ComboBox1 y ComboBox2.
Si tienes algun email te envio el archivo para que lo veas y me des alguna sugerencia...



mi correo esta "a la vista" (con disfraz anti-spam)
solo quita de la direccion que aparece el "NO...SPAM...PLS"
y toma en cuenta que la administracion del tiempo, no esta dentro de mis dominios
(por si me tardo en contestar) :D
indica la version de excel que utilizas (o donde sera mayormente usado tu archivo) <= IMPORTANTE

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida