Saltar al contenido

Rango de ciertas columnas solamente, para Combobox

publicado

Hola amigos.

Tengo este codigo que llena el ComboBox

        Private Sub CargaCombus() ' CARGAR COMBOBOX
Dim cargo As Variant
Dim anchura As Variant
With Base
cargo = .Range("A2:H2") ' ("A2:B2,E2:H2") aqui el rango
End With
With cmbCampo
.List = WorksheetFunction.Transpose(cargo)
'.Text = ""
End With
End Sub[/CODE]

Son 8 columnas desde la A a la H

Lo que pretendo es que en el combo solo se vean (se llene) las columnas A, B, E, F, G, H,

Featured Replies

publicado

No se puede directamente, pero siempre hay una solución:

For Each Celda In Base.Range("A2:B2,E2:H2"): cmbCampo.AddItem Celda.Value: Next[/CODE]

publicado
  • Autor

me quedo así, tu me diras si algo está mal y que es

        Private Sub CargaCombus() ' CARGAR COMBOBOX
Dim [COLOR="#FF0000"]celda[/COLOR] As Variant
Dim anchura As Variant
With Base
For Each [COLOR="#FF0000"]celda[/COLOR] In Base.Range("A2:B2,E2:H2"): cmbCampo.AddItem celda.Value: Next
End With
With cmbCampo
End With
End Sub[/CODE]

Aqui Dim celda As Variant

estaba la variable cargo lo cambie por [color=#FF0000]celda[/color] ¿esta bien?

porque me decia que habia que declarar celda

Si esta bien, cerrado el tema, si algo esta mal, agradezco la respuesta

publicado

Con esto es suficiente:

Private Sub CargaCombus() ' CARGAR COMBOBOX

Dim Celda As Range
For Each Celda In Base.Range("A2:B2,E2:H2")
cmbCampo.AddItem Celda.Value
Next

End Sub


[/CODE]

publicado
  • Autor

Sabias que me gustan los codigos efectivos y cortos.

Muy bien, tenia demas una variable que no me di cuenta que estaba demas en ese evento y lo demas en una sola linea. Los With y End With demas, es decir, una cesta con basura habia dejado yo jejejejjeej

Gracias macro, agradecido, y LISTO

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.