Llenado de Lisxbox

05/05/2007 - 22:25 por JForero | Informe spam
Buenas tardes grupo, por favor alguien me puede indicar como lleno un list
box para un rango específico de columnas a y b. ???
ejemplo:
Columna a y b, llenarlo con lo que contiene desde la fila 6 hasta la primera
fila que encuentre vacia

gracias...

Preguntas similare

Leer las respuestas

#1 KL
05/05/2007 - 22:55 | Informe spam
1) Si el ListBox es un Control ActiveX y esta en una hoja:

Sub test()
Dim arrVal As Variant
With ActiveSheet
arrVal = Application.Transpose(.Range("A1:B6"))
With .ListBox1
.ColumnCount = UBound(arrVal, 2)
.Column = arrVal
End With
End With
End Sub

2) Si el ListBox es un Control ActiveX y esta en un Formulario (UserForm)

Opcion a.

Private Sub UserForm_Initialize()
Dim arrVal As Variant
arrVal = Application.Transpose(ActiveSheet.Range("A1:B6"))
With Me.ListBox1
.ColumnCount = UBound(arrVal, 2)
.Column = arrVal
End With
End Sub

Opcion b.

Private Sub UserForm_Initialize()
Dim rng As Range
Set rng = ActiveSheet.Range("A1:B6")
With Me.ListBox1
.ColumnCount = rng.Columns.Count
.RowSource = rng.Address(, , , True)
End With
End Sub

Saludos,
KL


"JForero" wrote in message news:
Buenas tardes grupo, por favor alguien me puede indicar como lleno un list box para un rango específico de columnas a y b. ???
ejemplo:
Columna a y b, llenarlo con lo que contiene desde la fila 6 hasta la primera fila que encuentre vacia

gracias...

Respuesta Responder a este mensaje
#2 Héctor Miguel
06/05/2007 - 01:29 | Informe spam
hola, chicos ! [perdon por meter la cuchara] :))

si nos 'sujetamos cabalmente' al ejemplo de OP...
_____
JForero escribio en el mensaje ...
... como lleno un list box para un rango específico de columnas a y b. ? ejemplo:
Columna a y b, llenarlo con lo que contiene desde la fila 6 hasta la primera fila que encuentre vacia




¨¨¨¨¨¨¨¨
y asumimos que existen cuando menos 2 celdas 'ocupadas' en la columna 'A' [o en la B... o en cualquiera] -???-

solo modifica en cualquiera de las propuestas, la referencia al rango utilizado en los ejemplos:
de: -> .Range("A1:B6")
a: -> .Range(.Range("a6:b6"), .Range("a6").End(xlDown))
o: -> .Range(.Range("a6:b6"), .Range("b6").End(xlDown))
o: -> .Range(.Range("a6:b6"), .Range("a65536").End(xlUp))
o: -> .Range(.Range("a6:b6"), .Range("b65536").End(xlUp))
o: -> ???
-> existen bastantes alternativas [usando .Offset(...) inclusive, entre otras mas]...
-> la diferencia pudiera 'hacerla' [entre otros detalles/imponderables/...]
-> cuantas/cuales/donde/... celdas vacias se encuentren en rangos intermedios/discontinuos/... -???-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

KL escribio en el mensaje ...
1) Si el ListBox es un Control ActiveX y esta en una hoja:

Sub test()
Dim arrVal As Variant
With ActiveSheet
arrVal = Application.Transpose(.Range("A1:B6"))
With .ListBox1
.ColumnCount = UBound(arrVal, 2)
.Column = arrVal
End With
End With
End Sub

2) Si el ListBox es un Control ActiveX y esta en un Formulario (UserForm)

Opcion a.

Private Sub UserForm_Initialize()
Dim arrVal As Variant
arrVal = Application.Transpose(ActiveSheet.Range("A1:B6"))
With Me.ListBox1
.ColumnCount = UBound(arrVal, 2)
.Column = arrVal
End With
End Sub

Opcion b.

Private Sub UserForm_Initialize()
Dim rng As Range
Set rng = ActiveSheet.Range("A1:B6")
With Me.ListBox1
.ColumnCount = rng.Columns.Count
.RowSource = rng.Address(, , , True)
End With
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida