Foros del Web » Soporte técnico » Ofimática »

listbox 3 columnas...rango variable

Estas en el tema de listbox 3 columnas...rango variable en el foro de Ofimática en Foros del Web. Antes que todo agradecer cualquier ayuda, haber les comento que deseo hacer un listbox de 3 columnas, yo antes habia hecho uno pero de dos ...
  #1 (permalink)  
Antiguo 30/06/2009, 18:14
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
listbox 3 columnas...rango variable

Antes que todo agradecer cualquier ayuda, haber les comento que deseo hacer un listbox de 3 columnas, yo antes habia hecho uno pero de dos culumnas pero con un rango fijo que no creceria ni las filas ni las columnas.

De esta forma lo hacia yo...

Código:
lstBancos.Clear
lstBancos.ColumnCount = 2
lstBancos.RowSource = "B2:C13"
lstBancos.ColumnWidths = "2" & "4"
Ahora mi pregunta es como asigno un rango variable sabiendo que son 3 columnas pero nose cuantas filas...por ejemplo de primera instancia el rango seria H2:J7, entonces quedaria de esta forma:
lstBancos.RowSource = "H2:J7"

Pero puede ser hasta J10 o quizas hasta J20....como puedo identificar el rango que debo asignarle a la propiedad RowSouerce del listbox para no tener problemas.

Espero haberme explicado bien....desde ya muchisimas gracias.
  #2 (permalink)  
Antiguo 30/06/2009, 19:47
Avatar de GEMO  
Fecha de Ingreso: julio-2007
Ubicación: Guadalajara
Mensajes: 110
Antigüedad: 16 años, 9 meses
Puntos: 3
Respuesta: listbox 3 columnas...rango variable

Hola juan007

para dejar el rango volatil lo que yo hice fue usar un variable temporal de la siguiente forma:

Application.ScreenUpdating = False
'declaras la variable
Dim c
'Seleccionas la hoja donde estan los datos(por ejemplo la hoja4)
Hoja4.Select
'te posicionas en la primera celda
Range("h1").Select
'donde cuenta las que no esten vacias y las asigna a la variable
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
c = c + 1
Loop
'si no hay registros la lista queda en blanco
If Range("h2") = "" Then
lstBancos.RowSource = ""
Else
'de lo contrario agrega a la propiedad RowSource el rango
lstBancos.RowSource = ("h2:j" & c)
End If
Application.ScreenUpdating = True

Solo tendrias que adaptarlo a lo que tu quieres .

Espero te sea de ayuda
  #3 (permalink)  
Antiguo 30/06/2009, 20:48
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: listbox 3 columnas...rango variable

A primera vista y haciendo la primera prueba me funciona perfecto...no tengo palabras para agradecerte...muchas pero muchas gracias.

Saludos desde CHILE.
  #4 (permalink)  
Antiguo 01/07/2009, 07:39
Avatar de GEMO  
Fecha de Ingreso: julio-2007
Ubicación: Guadalajara
Mensajes: 110
Antigüedad: 16 años, 9 meses
Puntos: 3
De acuerdo Respuesta: listbox 3 columnas...rango variable

No hay nada que agradecer que bueno que te pude ayudar
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:14.