Crear o insertar datos de un Listbox (con Varias Columnas) a una Base de datos.

Tengo un UserForm y quiero insertar datos de un listbox a mi tabla en la hoja del Excel, tengo tres textbox

Llamados de la siguiente forma: fecha, folios y numero de Az lo que quiero inicialmente es pasar los nuevos datos a un listbox y de allí a mi tabla en Excel (o crearlos directamente en listbox), quiero hacerlo de este modo porque una vez que estén en el listbox con un botón de Ordenar, los datos deben organizarse por fecha y modificar la tabla en Excel con el dato nuevo.

1 Respuesta

Respuesta
1

H o l a:

Te anexo el código para insertar fechas. Con este código no es necesario seleccionar la fila, en automático la macro busca la fila que le corresponde según el cliente, anexa la fecha o las fechas y ordena los datos por fechas.

'
Private Sub CommandButton8_Click()
'Por.Dante Amor
    'Actualizar del listbox2 a las celdas y al cmbLista
    If ListBox2.ListCount = 0 Then
        MsgBox "No hay registros a actualizar"
        Exit Sub
    End If
    If cmbLista = "" Then
        MsgBox "Tienes que seleccionar un cliente"
        cmbLista.SetFocus
        Exit Sub
    End If
    '
    Set h = Sheets("Archivo 2015")
    Set b = h.Columns("A").Find(cmbLista, lookat:=xlWhole)
    If Not b Is Nothing Then
        carpeta = h.Cells(b.Row, "D")
        ini = b.Row + 1
        '
        For i = 0 To ListBox2.ListCount - 1
            h.Rows(ini).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
            h.Cells(ini, "B") = CDate(ListBox2.List(i, 0))
            h.Cells(ini, "C") = ListBox2.List(i, 1)
        Next
        '
        Fin = ini
        For i = ini To h.Range("B" & Rows.Count).End(xlUp).Row
            If h.Cells(i, "A") = "" Then
                Fin = i
            Else
                Exit For
            End If
        Next
        With h.Sort
            .SortFields.Clear: .SortFields.Add Key:=h.Range("B" & ini & ":B" & Fin)
            .SetRange h.Range("B" & ini & ":C" & Fin): .Header = xlGuess: .Apply
        End With
        cmbLista_Change
        MsgBox "Datos actualizados"
    End If
End Sub

S a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas