Cómo modificar la propiedad ControlSource en listbox.

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Cí³mo modificar la propiedad ControlSource en listbox.

Notapor ivanmolina » 27 Jun 2006 08:04

Necesito incluir en un userform dos listbox:

- uno, que me permita seleccionar uno de entre los doce meses del año;
- otro, que me permita seleccionar un valor de entre los incluidos en una hoja del libro, cuyo código en VBA serí­a: Sheets("DATOS").Range("A40:A50).

Supongo que hay que hacerlo desde la propiedad ControlSource, pero no sé cómo. He probado desde VBA pero tampoco doy con ello.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
ivanmolina
Miembro Frecuente
Miembro Frecuente
 
Registrado: 05 Oct 2004 02:51
Ubicación: Madrid

Re: Cí³mo modificar la propiedad ControlSource en listbox.

Notapor Adrian » 27 Jun 2006 11:23

Hola, suponiendo que hay dos combos en un formulario, en el evento de inicio del formulario podemos cargar los datos para los combos.

Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 12'pone los nombres de los doce meses
ComboBox1.AddItem MonthName(i)
Next
'segundo combo
ComboBox2.RowSource = "a1:a7"
ComboBox2.BoundColumn = 0
End Sub

Salu2.xls
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Cí³mo modificar la propiedad ControlSource en listbox.

Notapor Adrian » 27 Jun 2006 11:59

Se me ocurre una modificación provechosa.

Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 12
ComboBox1.AddItem MonthName(i)
Next
'segundo combo
ComboBox2.RowSource = "Hoja1!A1:A7" 'asi pon la dirección de las celdas
ComboBox2.BoundColumn = 0
End Sub

Atte.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 9 invitados