ComboBox: Valor a mostrar a partir de un rango definido por nombre
Resuelto
xaveria
-
xaveria -
xaveria -
Bonjour,
Tengo un formulario que se encuentra en una hoja de mi libro de Excel (hoja1), y todas las listas de opciones que quiero tener están en otra hoja (hoja3). Todas estas listas tienen nombres definidos en mi libro.
En mi formulario, quiero tener una lista desplegable de opciones, por lo que he utilizado el ComboBox, pero no logro que se muestren los valores deseados cuando hago clic en la flecha de la lista en el formulario. No estoy segura de qué evento elegir para lograrlo. La lista permanece vacía.
Aquí está lo que hay actualmente en el código:
Private Sub cbxSecteur_change()
Dim ChoixSecteurs As String
ChoixSecteurs = Hoja3.Range("Sectores").Value
CbxSecteur.Rowsource = ChoixSecteurs
End Sub
Configuración: Windows 7 / Internet Explorer 8.0
Tengo un formulario que se encuentra en una hoja de mi libro de Excel (hoja1), y todas las listas de opciones que quiero tener están en otra hoja (hoja3). Todas estas listas tienen nombres definidos en mi libro.
En mi formulario, quiero tener una lista desplegable de opciones, por lo que he utilizado el ComboBox, pero no logro que se muestren los valores deseados cuando hago clic en la flecha de la lista en el formulario. No estoy segura de qué evento elegir para lograrlo. La lista permanece vacía.
Aquí está lo que hay actualmente en el código:
Private Sub cbxSecteur_change()
Dim ChoixSecteurs As String
ChoixSecteurs = Hoja3.Range("Sectores").Value
CbxSecteur.Rowsource = ChoixSecteurs
End Sub
Configuración: Windows 7 / Internet Explorer 8.0
Enlaces relacionados:
- Mostrar un msgbox si hay un valor en una celda
- Indicación de una columna por un nombre
- Alimentar varios combobox (userform) a partir de una pestaña vba
- Cómo ordenar en orden ascendente en un comboBox
- Asignar un valor a una opción de Combobox en VBA
- Recuperar el valor de un textbox de un formulario diferente.
1 respuesta
-
Hola,
Tengo un formulario que se encuentra en una hoja de mi libro de Excel (hoja1) ¿Userform o controles en la hoja de cálculo?-
-
Re,
'Formulario de usuario de VBA
Private Sub UserForm_Activate()
Dim pt As Integer, nb As Integer
'limpiar lista
ComboBox1.Clear
'número de valores en la lista
nb = Worksheets("feuil3").Range("Sectores").Cells.Count
'bucle para escribir valor en combobox
For pt = 1 To nb
ComboBox1.AddItem (Worksheets("feuil3").Range("Sectores").Cells(pt, 1))
Next pt
End Sub
'o
Private Sub UserForm_Activate()
ComboBox1.Clear
'llenado por dirección del rango
ComboBox1.RowSource = Worksheets("feuil3").Range("A1:A5").Address
End Sub
'o
'Directamente en la propiedad RowSource de ComboBox1: Sectores
A+ -
No funciona, he ajustado el nombre del combobox para el nombre de mi combobox, y el A1:A5 por el nombre de mi rango, y no funciona, tengo un mensaje de error que aparece en la pantalla, el índice no pertenece a la selección: No parece encontrar mi rango en mi hoja de excel que se llama "Sectores"
Private Sub UserForm_Activate()
CbxSecteur.Clear
'rellenado por dirección del rango
CbxSecteur.RowSource = Worksheets("feuil3").Range("Sectores").Address
End Sub -
Re,
CbxSecteur.RowSource = Worksheets("feuil3").Range("Secteurs").Address
No funciona, por eso no lo había puesto, ¡pero pasando por una variable intermedia está bien, así que!!!
Private Sub UserForm_Click()
x = Worksheets("feuil1").Range("lista").Address
ComboBox1.RowSource = x
End Sub
¡Hasta luego! -
-