Actualizar datos automáticamente en lista desplegable dependiente.

Se requiere que los datos de una celda que contiene una lista desplegable dependiente, se actualice automáticamente cuando el valor del cual depende cambie.

D5 despliega las listas 1 o 2, según lo indique B5. Pero no se actualiza cuando B5 se cambia.

1 Respuesta

Respuesta
1

En mi Blog tengo un ejemplo con listas desplegables dependientes usando funciones como DESREF, COINCIDIR, INDICE, etc., descárgalo y dale un vistazo, creo que te ayudará:

https://abrahamexcel.blogspot.pe/

Comentas

Abraham Valencia

No entendí ni carajo...

No quiero ocupar macros ni códigos para esto, solo fórmulas dentro de la interfaz de excel.

Si tienes alguna idea para ello, estaría muy agradecido.

Gracias de todas formas por el link.

He mencionado funciones "nativas" de Excel, no funciones/instrucciones de VBA, el ejemplo que te menciono no usa VBA por si acaso.

Abraham Valencia

Disculpa, ahora pille el archivo, lo reviso y te digo si me fue útil la información! 

Gracias!

Dale, avisas.

Salu2

Abraham Valencia

Te aviso...

No es lo que busco... No busco que se actualice la lista (cuando se agrega un nuevo valor, eso lo hago con tablas y resulta bien)

Más bien busco que el valor que muestra la celda D5 del ejemplo se actualice cuando se cambia el valor de la Lista de la celda B5. Los valores de la lista D5 dependen de B5, uso la fórmula =INDIRECTO en validad datos. En el ejemplo se ve claramente que D5 muestra el valor "A" que es de la lista_1, siendo que debería mostrar A# que corresponde a lista_2.

Humm, en la hoja "Indice/Coincidir" del ejemplo de mi blog se hace algo así, pero claro, cuando cambias "B5" de nombre de lista, "D5" permanecerá con el último valor que le colocaste y recién se verán los"nuevos" valores al desplegar dicha lista. El único modo de detectar el cambio automáticamente es con macros.

Abraham Valencia

He intentado hacer otra cosa, 

Puse una nueva fila, con condiciones "si".

Si la lista_1 esta seleccionada, arroja los valores de la fila 2, si no, los de la fila 3. Y los valores de la segunda lista desplegable son de esta tercera fila que varia según "B5".

Pero... tampoco actualiza el valor que muestra la lista desplegable de "D5".

Si no hay otro modo...... tendré que recurrir a macros... y ahí se muy poco.

Gracias

Debes usar el evento "Change". Abre el editor del VBA (ALT + F11), una vez ahí, al lado izquierdo verás una suerte de "árbol", dale doble click al correspondiente a tu hoja, luego en la parte derecha, debajo de donde dice "(General)" y "(Declaraciones)" pega esto:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
[D5] = ""
End If
End Sub

Con eso, cada vez que cambies "B5", en "D5" se borrará el valor anterior.

Abraham Valencia

Lo hice, pero ocurre algo horrible...

por eso no quería entrar en macros.... :/

No se que paso, ahora hay teclas que ya no puedo usar... en todos los programas...

algo se modificò. hasta los tildes los coloca al revès... ;(

En fin... funcionò pero no actualiza el valor, solo lo borra.

igual es mejor, que lo borre a que siga el anterior, porque lleva a confucion.

pero lo ideal es que lo actualice.

gracias1 ... la tecla shift derecha no funciona ahora...

Claro, por eso te comentaba que se borraba, para hacer lo otro, hay que escribir más código. Sobre los "problemas" que te han aparecido, algo más debes haber activado, lo que yo te he enviado no hace nada de lo que comentas ¿quizá probaste con otras macros?

Abraham Valencia

No, al parecer mi computador tiene problemas con las teclas F.

están en segundo comando, debo presionar la tecla fn. para activarlas, y algo desactivo.

Solucionado.

Aun no se que pasa con esta Macro que me envías, cuando cerré el archivo me solicito guardarlo en otro formato, y luego al volver abrirlo, no se pudo usar la macro, pero si esta en el VBA.

No se que pasa.

A partir de la versión 2007 del Excel, el formato de sus archivos varió. La extensión *.xls se dejó, casi, de lado y los archivos tomaron, sobre todo, el formato *.xlsx. La gran diferencia es que dicho último formato no soporta macros y para que los archivos de excel las conserven hay que guardarlos como archivos *xlsm. Si no lo guardas con ese formato, como te preguntó el Excel, las macros simplemente "desaparecerán".

Abraham Valencia

Aun no puedo solucionar este problema,

Y ahora lo necesito más, antes debía actualizar solo un dato, ahora son 13 datos...

Que si no son automáticos, se tendrían que mover manualmente, y no es la idea.

Esto:

https://1drv.ms/x/s!ApkTgtnWCTgAh2kvN98ncOB0DTXg 

Comentas

Abraham Valencia

Hola Abraham, 

gracias por el tiempo, 

Abri el archivo, pero ocurre algo extraño, cuando se cambia lista_1 por lista_2, la lista desplegabla se abre... es algo util para este caso, pero para la aplicacion que quiero darle, seria un poco engorroso.

Te explico. Lo que necesito es que varias notas de un instrumento (Guitarra por ejemplo) se cambien (lista desplegable dependiente) cuando son afinadas, pero que se actualicen cuando una escala cambia los nombres de las notas (Lista_1 o lista_2 del ejemplo)

Pero en este caso la afinación sera por cuerda, o sea en una guitarra son 6 cuerdas.

El tema es cuando selecciono una escala musical, me aparecen los diagramas automáticos en el mástil de una guitarra, pero hay escalas que cambian los nombres de las notas, así que los nombres en la guitarra cambian automáticamente. PERO, para afinar el instrumento, o sea, cambiar la nota tengo una lista donde puedes seleccionar la nota de la cuerda. Y es esta celda, la que no se actualiza multiplicado por 6...

o sea que si ocupo el ejemplo que me has mandado, se abrirían 6 listas desplegables al mismo tiempo que se cambian los nombres de las notas....

Gracias...

Ya con esos detalles te tengo que decir que el efecto(s) esperado solo podrás conseguirlo a través de macros y de objetos ActiveX (Combobox por ejemplo), a través de fórmulas y celdas no se podrá tal cual lo necesitas.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas