Formularios Linkados y duda urgente

02/06/2005 - 17:05 por Marta | Informe spam
Hola de nuevo,

Ayer pregunté una duda y Héctor me la respondió fenomenal...
Solo me falta una cosa para que todo sea perfecto.
Tengo que entregar este formulario en unos minutos y necesito una solución a
este tema:
Tengo dos combo-box: uno de categorías y otro de subcategorías. Entonces,
cuando en el primero selecciono una categoría, en el segundo solo me aperecen
las subcategorías que corresponden a la categoría del primer combo-box.

Hasta ahí bien, pero el problema es que si cambio de selección en el primer
combo cuando ya se había seleccionado algún valor del segundo, entonces se
mantiene dentro del segundo las subcategorías anteriores, y necesitaría que
al cambiar el primero automáticamente, o bien el segundo se quedara en
blanco, o bien al desplegar el segundo aparecieran solo las opciones de la
categoría del primero.

Se puede???

Muchas gracias

Preguntas similare

Leer las respuestas

#6 KL
02/06/2005 - 17:38 | Informe spam
...ojo debe estar en la lista de Subcategorias o ser un vacio...



perdon, por macro el valor de un combo de Validacion puede ser cualquier
cosa realmente.

Saludos,
KL
Respuesta Responder a este mensaje
#7 Marta
02/06/2005 - 17:45 | Informe spam
Combobox de Categorías: C10 (con el nombre fijo de "Producto")
Combobox de Subcategorías: C12.

Lo que querría es que cada vez que cambias la selección del primero, el
segundo se quede en blanco y te obligue a desplegarlo para elegir uno
correspondiente.

Ya sabes, no tengo campos de formularios...

Muchísimas gracias por tu ayuda, no sabes del aprieto que me estáis sacando!!!

"KL" escribió:

Hola Marta,

Dime en que celdas estan el combobox de Categorias y el de Subcategorias y
cual es el valor por defecto que quires poner en el de Subcategorias al
modificar el de Categorias (ojo debe estar en la lista de Subcategorias o
ser un vacio)

Saludos,
KL

"Marta" wrote in message
news:
>Y con una macro? Como seria esa macro???
> Gracias!!!
>
> "KL" escribio:
>
>> Hola Marta,
>>
>> > Se puede???
>>
>> Pues va a ser que no, me temo. Si es que, claro, los macros siguen sin
>> ser
>> una opcion. Al elegir una opcion en un desplegable de Validacion (que
>> entiendo que es lo que haces) Excel introduce un valor en la celda como
>> si
>> lo escribieras tu a mano. Y para borrar un dato introducido esta manera
>> hara falta un macro o que alguien use el teclado.
>>
>> Saludos,
>> KL
>>
>>
>>



Respuesta Responder a este mensaje
#8 KL
02/06/2005 - 17:56 | Informe spam
Hola Marta,

Como veo que tardas en responder (o sera el servidor de Microsoft?) y decias
que tenias minutos para solucionar el tema te pongo aqui las instrucciones
aproximadas.

Tienes que depositar el codigo que te pongo abajo de todo. Para ello sigue
estas instrucciones:

1) haz clic-derecho sobre el nombre de la hoja en cuestion (esta en una de
las pestañas
de la parte de abajo de la ventana de Excel).
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) En la ventana mas grande a la derecha pega el codigo que te pongo a
continuacion.
4) Dentro del codigo reemplaza:
A1 - por la referencia verdadera a la celda del combobox de Categorias
(ojo - no borres las comillas)
A3 - por la referencia verdadera a la celda del combobox de Subcategorias
(ojo - no borres las comillas)
MiValorPorDefecto - por el valor que realmente quieres que aparezca por
defecto en Subcategorias al modificar el de Categorias (ojo - si el valor es
texto no borres las comillas, si es numerico quita las comillas)
5) Pulsa Alt+F11 para volver a la hoja
6) Guarda los cambios
7) Prueba modificar el valor de Categorias

Nota importante: para que el macro funcione es imprescindible que los macros
esten habilitados. Si el nivel de seguridad (en el menu
Herramientas>Macro>Seguridad) esta en "Medio" Excel preguntara si se quieren
habilitar los macros cada vez que se abra el archivo y hay que decir que Si.
Si al abrir el archivo Excel no pregunta, probablemente el nivel de
seguridad esta en Alto y habria que modificarlo (no lo pongas en "Bajo").

Saludos,
KL

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Me.Range("A1")) Is Nothing Then Exit Sub
Me.Range("A3") = "MiValorPorDefecto"
End Sub
Respuesta Responder a este mensaje
#9 KL
02/06/2005 - 18:01 | Informe spam
Hola Marta,

Mira las instrucciones que acabo de enviarte en mi otro mensaje. Solo que
usa el codigo que te pongo aqui en vez del que esta ahi.

Saludos,
KL

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Me.Range("C10")) Is Nothing Then Exit Sub
Me.Range("C12") = ""
End Sub
Respuesta Responder a este mensaje
#10 Marta
02/06/2005 - 18:30 | Informe spam
La verdad es que no sé cómo agradecéroslo!!!

En serio, ahora funciona tal y como necesito y no sabéis bien de la que me
habéis salvado!!!

Gracias, y espero muy pronto ser capaz de ayudar a otros,

Marta

"KL" escribió:

Hola Marta,

Mira las instrucciones que acabo de enviarte en mi otro mensaje. Solo que
usa el codigo que te pongo aqui en vez del que esta ahi.

Saludos,
KL

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Intersect(Target, Me.Range("C10")) Is Nothing Then Exit Sub
Me.Range("C12") = ""
End Sub




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida