Formulario de búsqueda que agregue datos en textbox

Para Dante.

Hola dante muy buenas tardes, me puedes ayudar con este problema tengo un formulario llamado buscar en donde busco datos en diferentes hojas que tengo, quisiera que cuando encuentre los datos buscado los agregue a los texbox que estén en el mismo formulario y que el botón guardar pueda guardar lo modificado en sus respectivas celdas y hojas adjunto una imagen.

1 respuesta

Respuesta
3

Va el código

Private Sub CommandButton3_Click()
'   Por Dante Amor
'   Buscar en todas las hojas
'
    ComboBox2.Value = ""
    ComboBox3.Value = ""
    ComboBox4.Value = ""
    TextBox4.Value = ""
    TextBox4.Value = ""
    '
    If ComboBox1.Value = "" Or ComboBox1.ListIndex = -1 Then
        MsgBox "Debes elegir buscar por"
        ComboBox1.SetFocus
        Exit Sub
    End If
    If buscar.Value = "" Then
        MsgBox "Debes escribir un valor a buscar"
        buscar.SetFocus
        Exit Sub
    End If
    '
    If ComboBox1.ListIndex = 0 Then col = "I" Else col = "K"
    '
    Dim hojas As New Collection
    For i = 1 To 12
        hojas.Add UCase(Format(DateSerial(Year(Date), i, 1), "mmmm"))
    Next
    lista.Clear
    For i = 1 To hojas.Count
        Set h = Sheets(hojas(i))
        Set b = h.Columns(col).Find(buscar.Value, lookat:=xlPart)
        If Not b Is Nothing Then
            lista.AddItem h.Cells(b.Row, col)
            lista.List(lista.ListCount - 1, 1) = h.Name
            lista.List(lista.ListCount - 1, 2) = b.Row
        Else
            'MsgBox "No existen coincidencias"
        End If
    Next
End Sub
'
Private Sub lista_Click()
'Llenar los datos al seleccionar un registro de la lista
    hoja = lista.List(lista.ListIndex, 1)
    fila = lista.List(lista.ListIndex, 2)
    ComboBox2.Value = Sheets(hoja).Range("G" & fila)
    ComboBox3.Value = Sheets(hoja).Range("H" & fila)
    ComboBox4.Value = Sheets(hoja).Range("J" & fila)
    TextBox4.Value = Sheets(hoja).Range("I" & fila)
    TextBox4.Value = Sheets(hoja).Range("K" & fila)
End Sub

sal u dos

Hola dante se puede agregar

    hoja = lista.List(lista.ListIndex, 1)
    fila = lista.List(lista.ListIndex, 2)
    ComboBox2.Value = Sheets(hoja).Range("G" & fila)
    ComboBox3.Value = Sheets(hoja).Range("H" & fila)
    ComboBox4.Value = Sheets(hoja).Range("J" & fila)
    TextBox4.Value = Sheets(hoja).Range("I" & fila)
    TextBox4.Value = Sheets(hoja).Range("K" & fila)

en el botón guardar, se puede agaragar este trozo de código para que guarde el datos modificado en la celda correspondiente y hoja correspondiente?


                    

Para pasar los datos modificados requieres de otro botón.

Sería al revés:

    hoja = lista.List(lista.ListIndex, 1)
    fila = lista.List(lista.ListIndex, 2)
    Sheets(hoja).Range("G" & fila) = ComboBox2.Value 
    Sheets(hoja).Range("H" & fila) = ComboBox3.Value 
    Sheets(hoja).Range("J" & fila) = ComboBox4.Value 
    Sheets(hoja).Range("I" & fila) = TextBox4.Value 
    Sheets(hoja).Range("K" & fila) = TextBox4.Value 

sal u dos

¡Gracias! Dante eres grande muchas gracias te voy a colocar en los créditos de este pequeño programa porque realizaste el 99% de la programación, por eso te voy a colocar en los créditos muchas gracias 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas