Listas desplegables 3 niveles

Buenas otra vez, y ante todo gracias por tu tiempo. Te comento, estoy haciendo una tabla excel, donde estoy vinculando listas desplegables. Exactamente, en A4 tengo lista desplegable (grupos) que al picar me deja dato (nombre grupo) en B4 (pero no lista desplegable). En B4 tengo la fórmula =BUSCARV(A4;NOMGRUP;2;FALSO). En C4 tengo otro desplegable vinculado a A4, que me da nombres "proveedores"
Hasta aquí bien, ..., el problema es que al querer dejar la tabla excel en blanco, cuando en el desplegable de A4 pico el espacio en blanco, en B4 me arroja el valor #N/A, y en C4 me queda visible el nombre del proveedor!?!?
¿Cómo puedo conseguir dejar las celdas en blanco?
Gracias otra vez y un saludo

1 Respuesta

Respuesta
1
Entiendo perfectamente. Lo he probado en una hoja de calculo.
Intenta con esta fórmula mejorada.
=SI(ESERROR(BUSCARV(A4;NOMGRUP;2;FALSO));"";BUSCARV(A4;NOMGRUP;2;FALSO))
La fórmula ya no te devolverá #N/A. En su lugar sera nada.
Hola Christian, ha ido muy bien!, solamente que, siguiendo la primera pregunta, cuando en el desplegable de A4 (grupos) pico el espacio en blanco, el desplegable (nombre proveedores) en C4 (la fórmula que tengo es =INDIRECTO(A4)), vinculado a A4, no me queda en blanco... ¿Cómo se puede conseguir?
Gracias de nuevo y un saludo
Hasta donde entiendo de tu caso es cuando picas en A4 la opción en blanco entonces no te debería dar nada en la celda C4. Si es así entonces la fórmula seria así:
=SI(A4="";"";INIDRECTO(A4))
Espero haberte ayudado en tu caso. No olvides en tu clase de separador.
No olvides de finalizar y puntuar
Hola Christian de nuevo, el problema es que en C4 tengo un desplegable (Origen: =INDIRECTO(A4)). La fórmula que comentas va bien siempre y cuando no haya desplegable, ¿no?... He estado probando sin éxito.
Cuando en A4 pico la opción en blanco del desplegable, en C4, para entendernos, el desplegable queda como bloqueado, pero deja visible un nombre, no queda en blanco!..
No sé si es factible, pero la idea es que al picar la opción en blanco del desplegable en A4, el desplegable en C4 (el desplegable de C4 está vinculado al desplegable de A4) quede en blanco...
Gracias de nuevo y un saludo
Vaya, ahora si comprendo, disculpas. He estado interpretando de una manera incorrecta tu consulta, pero bueno he estado ahora si probando una solución para tu caso y resulto.
Con fórmulas no va a ser posible. Tendremos que programar en VBA.ç
***
1.- Abre tu archivo de Excel. Supongamos que tus listas desplegables esta en Hoja1 y que se llama Datos tu hoja de calculo. Haz ALT+F11, de esta manera veras el Editor de VBA.
---
2.- En el panel de la izquierda has doble click en donde dice Hoja1 (Datos). De esta manera se abrirá una ventana en blanco. Allí copia y pega el siguiente código tal como esta:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A4") = Empty Then
Range("c4").Value = ""
End If
End Sub

3.- Guarda los cambios realizados en tu libro después de esto. El procedimiento hará que en la celda A4 cada vez que este en blanco hará lo mismo con la celda C4. Es decir lo colocara en blanco.
***
Funciona y esta probado antes de darte la respuesta a tu caso.
Hola de nuevo Christian, funciona perfecto el cogido!...
Para aplicar este código a más celdas, seguro que hay una forma más sencilla, de la que estoy haciendo. Para C5 vuelvo a escribir el código añadiendo un End If... y así sucesivamente, pero es que tengo 45 registros!
He probado sin éxito!
If Range ("A4:A45")=Empty Then
Range("C4:C45").Value=""
End If
Y me sale aviso: se ha producido el error 13 en tiempo de ejecución. No coinciden los tipos

¿Cómo puedo extrapolar el código inicial a los 45 registros que tengo?
De nuevo, gracias por tu tiempo y paciencia...
Holde nuevo!
Intentemos reemplazar el código que te di inicialmente por el siguiente:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell = Empty Then
ActiveCell.Offset(0, 2) = ""
End If
End Sub

Espero haberte ayudado en tu caso. Me comentas cuando finalices
Hola Christian, y perdona la demora, durante ayer no pude conectarme a la web!
No ha habido éxito.. Te comento... tengo tabla rango A4:J45, y al introducir el código que propones, se va repitiendo al largo de la tabla. Lo que he comprobado es que si la celda D4 está vacía, me deja en blanco la celda F4, y así sucesivamente...
¿Cómo se puede restringir a unas columnas determinadas el código?
Te comento esto de retringir el código, porque quiero aplicarlo a la columna D4, también, para que cuando esté vacía, que la celda I4 quede en blanco.
Solo comentarte que gracias por tu paciencia
Christian, he hecho algunas modificaciones en la tabla y el resultado, a partir de tus respuestas, me ha ido muy bien... perfecto... y hasta la próxima!..
Gracias de nuevo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas