Macro para seleccionar campos de una lista desplegable

Tengo una lista desplegable simple en una celda. Cuando selecciono uno de sus campos se activa una macro. Cómo los campos son numerosos, estoy programando una macro que me repita la rutina para cada uno de los items de la lista... Pero no encuentro la instrucción VBA que seleccione un campo de la lista. Agradeceré ayauda.
{"lat":41.2752262781553,"lng":1.99882507324219}

1 Respuesta

Respuesta
1
"¿Lista desplegable simple"? Es un control insertable o utilizas la opion "Validación de datos "
"Cuando selecciono uno de sus campos", ¿te refieres a los item de lista? ¿O campo le denominas a una columna dentro de la lista?.
¿La macro que tienes se activa en función de un valor de la lista o del sencillo echo de realizar la selección de un item?.
Gracias por tu interés.
La lista desplegable la obtengo mediante "Validación de datos", teniendo su origen (items) en otra hoja.
Con "campos" me refiero a los items de la lista.
Las macros se activan por selección manual de cada item de la lista.
El problema, es que no encuentro la manera de seleccionar los items desde otra macro para generalizar el proceso de selección y sus macros adheridos... He probado con la propiedad "List" sin resultados. He comprobado al poner nombre a la lista, que esta parece tener formato de "array"... estoy trabajando por esa línea...
Agradecería tu ayuda pues me estoy volviendo loco.
Si lo que deseas es seleccionar cada itema del cuadro de lista y si este es un cuadro de lista por validación de datos, pues es equivalente a que recorras cada celda del rango de la lista que es el origen de datos de ese cuadro.
He probado tu propuesta, pero al seleccionar un item del rango que sirve de origen a la lista, no cambia el valor mostrado en la "celda-lista"... ¡Eso es precisamente lo que quiero lograr!... Que a través de una macro cambie el item mostrado en la celda lista, respetando siempre los valores originales de la lista (los diferentes items de la lista se conservan; son un conjunto de nombres de personas).
No se si he centrado el tema.
Agradezco nuevamente tu interés.
Mmmm... ¿deseas qué la celda en donde esta el cuador de lista pase por cada item de la lista?.
si asi es
Indicame el rango de la lista ( hoja y celdas ) y la celda en donde esta el cuedro de lista.
Creo que con un bucle, puedes recorrer la lista y pasarle el valor a la celda del cuadro de lista.
El origen de la lista está en "Worksheet ("Hoja1").Range("A4:A45")".
La celda del cuadro de lista está en "Worksheet ("M1").Cells("B3")".
¡Gracias por tu ayuda!
Ok
Este bucle recorre la lista y le pasa el valor de cada celda a la celda B3 de la hoja llamada M1
Sub RECORRER()
Dim I As Integer
For I = 4 To 45
    Sheets("M1").Range("B3").Value = Hoja2.Range("A" & I).Value
DoEvents
Next
End Sub
Agregalo en modulo y listo.
Funciona perfectamente...¡GRACIAS!
Con expertos como Tu, no nos merecemos esta crisis...
Una duda... ¿Cual es el cometido de la instrucción "DoEvents" dentro del bucle "For... next"
Una vez más: ¡Muchas gracias!.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas