No seleccionar primera fila de listbox

Necesito ayida con este código:

Private Sub ListBox1_Click()
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            Set busco = ActiveSheet.Range("A:A").Find(Me.ListBox1, LookIn:=xlValues, LookAt:=xlWhole)
            'selecciono la columna y cargo al txt
            txt_Buscar = ListBox1.List(ListBox1.ListIndex, 6)
            '
        If Not busco Is Nothing Then
            busco.Select
        End If
    End If
    Next
End Sub

Tengo 2 formularios y un listbox (frm1 y frm2), lo que hace esto es cargar la fila seleccionada del listbox que esta en el frm2, directamente en los txt del frm2, hasta ahi todo anda bien, el detalle es que tengo una evento que filtra el listbox, funciona bien, el detalle es que la primera fila es el encabezado del listbox y al elegirlo tambien lo carga en los txt del frm2 y no quiero eso, hay alguna manera de saltar dicha fila para que apartir de la segunda se puedan cargar los datos a los txt?, he intentado cambiando de 0 a 1 en el For i, pero cuando realizo el filtro ya no me elige la fila filtrada si no otra cualquiera, reinvierto de 1 a 0 en el For i y si funciona la eleccion de la fila filtrada del listbox, pero tambien tienen opcion de seleccionar el encabezado, y eso es lo que no quiero, por favor alguna ayuda para esta alma en pena sera bien Calificada! 

Gracias 

1 respuesta

Respuesta
1

H o l a 

Entonces tienes que cargar tus datos al listbox sin el encabezado de tu hoja.

Por ejemplo si tu encabezado está en la fila 1, carga tus datos a partir de la fila 2 al listbox.


Muéstrame tu código como cargas tus datos para modificar

Este es mi código que muestra los datos al dar clic al botón:

Private Sub CommandButton8_Click()
        If Me.txt_Buscar.Value = Empty Then
            MsgBox "Ingrese un número de RTD para buscar", vbExclamation, "EXCELeINFO"
            'Me.ListBox1.Clear
            Me.txt_Buscar.SetFocus
            Call CargarLista
            Exit Sub
        End If
        On Error Resume Next
        Set b = Sheets("2017")
        uf = b.Range("A" & Rows.Count).End(xlUp).Row
        If Trim(txt_Buscar.Value) = "" Then
             'Me.ListBox1.List() = b.Range("A2:H" & uf).Value
             Me.ListBox1.RowSource = "2017!A1:U" & uf
           Exit Sub
        End If
        b.AutoFilterMode = False
        Me.ListBox1 = Clear
        Me.ListBox1.RowSource = Clear
        For i = 2 To uf
           strg = b.Cells(i, 7).Value
           If UCase(strg) Like UCase(txt_Buscar.Value) & "*" Then
                Me.ListBox1.AddItem Cells(i, 1)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, 2)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, 3)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, 4)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(i, 5)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(i, 6)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Cells(i, 7)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Cells(i, 8)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 8) = Cells(i, 9)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 9) = Cells(i, 10)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 10) = Cells(i, 11)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 11) = Cells(i, 12)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 12) = Cells(i, 13)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 13) = Cells(i, 14)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 14) = Cells(i, 15)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 15) = Cells(i, 16)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 16) = Cells(i, 17)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 17) = Cells(i, 18)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 18) = Cells(i, 19)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 19) = Cells(i, 20)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 20) = Cells(i, 21)
            End If
        Next i
        Me.ListBox1.ColumnWidths = "25 pt;100 pt;50 pt;380 pt;80 pt;150 pt;60 pt;100 pt;100 pt;150 pt;150 pt;100 pt;100 pt;100 pt;100 pt;80 pt;80 pt;80 pt;80 pt;100 pt;150 pt"
End Sub

H o l a 

 Me.ListBox1.RowSource = "2017!A1:U" & uf

cambia el numero de fila sin considerar el encabezado, estoy suponiendo que en  A2 estan tus datos y A1 es el encabezado

 Me.ListBox1.RowSource = "2017!A2:U" & uf

Me comentas saludos

Hola,

El problema sigue igual, no hay ningun cambio al  hace que arranque desde A2 {=(

¿En qué fila empieza tus datos es apartir?

Si deseas envíame tu archivo [email protected] para revisarlo saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas