Como guardar registros de un formulario del libro diario en excel

Para: Dante Amor

A través de un formulario me gustaría guardar en la hoja1 en la columna C el código de la cuenta, en la D el nombre de la cuenta, en la E el debe y en la columna F el haber. Para luego montar una formula que me determine el saldo al restar el debe menos el haber.

Al ingresar los datos en el formulario en el listbox me gustaría que se puedan agregar decimales con el formato numérico Ejemplo: 1,300.50

De antemano gracias por tu ayuda

Pd: te envié esta pregunta antes pero no la encuentro, por eso la mando otra vez.

1 Respuesta

Respuesta
1

H o l a:

Envíame tu archivo con el formulario y me explicas con ejemplos completos, con imágenes, comentarios qué es lo que necesitas.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Jonathan Lopez” y el título de esta pregunta.

ya lo envié 

H o l a:

Te anexo el código completo para guardar los movimientos.

Private Sub cmdAgregar_Click()
'Por.Dante Amor
    'Agregar al listbox
    If txtCodigo = "" Then
        MsgBox "captura un código"
        Exit Sub
    End If
    If txtCuenta = "" Then
        MsgBox "captura una cuenta"
        Exit Sub
    End If
    If txtMonto = "" Or Not IsNumeric(txtMonto) Then
        MsgBox "captura un monto válido"
        Exit Sub
    End If
    If optDebitos = False And optCreditos = False Then
        MsgBox "Selecciona Debitos o Creditos"
        Exit Sub
    End If
    '
    ListBox1.AddItem txtCodigo
    ListBox1.List(ListBox1.ListCount - 1, 1) = txtCuenta
    If optDebitos Then
        'suma debe
        ListBox1.List(ListBox1.ListCount - 1, 2) = txtMonto
        txtTotalDebe = Val(txtTotalDebe) + Val(txtMonto)
    Else
        'suma haber
        ListBox1.List(ListBox1.ListCount - 1, 3) = txtMonto
        txtTotalHaber = Val(txtTotalHaber) + Val(txtMonto)
    End If
    txtCuadre = Val(txtTotalDebe) - Val(txtTotalHaber)
End Sub
'
Private Sub cmdGuardar_Click()
'Por.Dante Amor
    If txtCuadre <> 0 Then
        MsgBox "La diferencia no es igual a 0"
        Exit Sub
    End If
    If ListBox1.ListCount = 0 Then
        MsgBox "No hay movimiento a registrar"
        Exit Sub
    End If
    '
    u = Range("B" & Rows.Count).End(xlUp).Row + 1
    For i = 0 To ListBox1.ListCount - 1
        Cells(u, "B") = Val(lblAsiento)
        Cells(u, "C") = CDate(txtFecha)
        Cells(u, "D") = txtCodigo
        Cells(u, "E") = txtCuenta
        Cells(u, "F") = txtGlosa
        'Cells(u, "G") =
        Cells(u, "H") = ListBox1.List(i, 2)
        Cells(u, "I") = ListBox1.List(i, 3)
        Cells(u, "J") = Cells(u, "G") + Cells(u, "H") - Cells(u, "I")
        u = u + 1
    Next
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    txtFecha = Format(Date, "dd/mm/yyyy")
    partida = WorksheetFunction.Max(Range("B:B")) + 1
    lblAsiento = partida
    'Configuramos el Listbox
    Me.ListBox1.ColumnCount = 4
End Sub

':)
':)

Te anexo le código actualizado

Private Sub cmdAgregar_Click()
'Por.Dante Amor
    'Agregar al listbox
    If txtCodigo = "" Then
        MsgBox "captura un código"
        Exit Sub
    End If
    If txtCuenta = "" Then
        MsgBox "captura una cuenta"
        Exit Sub
    End If
    If txtMonto = "" Or Not IsNumeric(txtMonto) Then
        MsgBox "captura un monto válido"
        Exit Sub
    End If
    If optDebitos = False And optCreditos = False Then
        MsgBox "Selecciona Debitos o Creditos"
        Exit Sub
    End If
    '
    ListBox1.AddItem txtCodigo
    ListBox1.List(ListBox1.ListCount - 1, 1) = txtCuenta
    If optDebitos Then
        'suma debe
        ListBox1.List(ListBox1.ListCount - 1, 2) = txtMonto
        If txtTotalDebe = "" Then
            Tdebe = 0
        Else
            Tdebe = CDbl(txtTotalDebe)
        End If
        txtTotalDebe = Val(Tdebe) + Val(txtMonto)
        txtTotalDebe = Format(txtTotalDebe, "#,##0.00")
    Else
        'suma haber
        ListBox1.List(ListBox1.ListCount - 1, 3) = txtMonto
        If txtTotalHaber = "" Then
            Thaber = 0
        Else
            Thaber = CDbl(txtTotalHaber)
        End If
        txtTotalHaber = Val(Thaber) + Val(txtMonto)
        txtTotalHaber = Format(txtTotalHaber, "#,##0.00")
        'txtTotalHaber = Val(txtTotalHaber) + Val(txtMonto)
    End If
    If txtTotalDebe = "" Then
        Tdebe = 0
    Else
        Tdebe = CDbl(txtTotalDebe)
    End If
    If txtTotalHaber = "" Then
        Thaber = 0
    Else
        Thaber = CDbl(txtTotalHaber)
    End If
    txtCuadre = Tdebe - Thaber
    txtCuadre = Format(txtCuadre, "#,##0.00")
End Sub
'
Private Sub cmdGuardar_Click()
'Por.Dante Amor
    If txtCuadre <> 0 Then
        MsgBox "La diferencia no es igual a 0"
        Exit Sub
    End If
    If ListBox1.ListCount = 0 Then
        MsgBox "No hay movimiento a registrar"
        Exit Sub
    End If
    '
    u = Range("B" & Rows.Count).End(xlUp).Row + 1
    For i = 0 To ListBox1.ListCount - 1
        Cells(u, "B") = Val(lblAsiento)
        Cells(u, "C") = CDate(txtFecha)
        Cells(u, "D") = txtCodigo
        Cells(u, "E") = txtCuenta
        Cells(u, "F") = txtGlosa
        'Cells(u, "G") =
        Cells(u, "H") = ListBox1.List(i, 2)
        Cells(u, "I") = ListBox1.List(i, 3)
        Cells(u, "J") = Cells(u, "G") + Cells(u, "H") - Cells(u, "I")
        u = u + 1
    Next
    MsgBox "Movimientos guardados"
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    txtFecha = Format(Date, "dd/mm/yyyy")
    partida = WorksheetFunction.Max(Range("B:B")) + 1
    lblAsiento = partida
    'Configuramos el Listbox
    Me.ListBox1.ColumnCount = 4
End Sub

':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas