Estoy tratando de crear un botón 'Guardar' en un formulario existente en vba. Los datos que deben guardarse van a una tabla que está en una hoja diferente que contiene una tabla. No estoy seguro de por qué mi código no funciona, ¿alguien tiene idea de lo que estoy haciendo incorrectamente?
Private Sub BtnGuardar_Click()
Dim ws As Worksheet
Dim tbl As ListObject
Dim newrow As ListRow
Set ws = ThisWorkbook.Sheets("RAW_Data")
Set tbl = ws.ListObjects("RawData")
If FechaContable = "" Then
MsgBox ("Debe ingresar la FechaContable"), vbExclamation, "Cifras"
Else
If Monto = "" Then
MsgBox ("Debe ingresar monto"), vbExclamation, "Cifras"
Else
If cboFormaPago = "" Then
MsgBox ("Debe ingresar forma de pago"), vbExclamation, "Cifras"
Set newrow = tbl.ListRows.Add
With newrow
.Range(1) = RegistroID
.Range(2) = Monto
.Range(3) = FechaContable
.Range(4) = Mes
.Range(5) = Ano
.Range(6) = "INGRESOS"
.Range(7) = cboFormaPago
.Range(8) = cboDetalles
.Range(9) = ObservacionesReg
.Range(15) = Format(Date, "DD/MM/YYYY")
.Range(16) = Application.UserName
End With
ActiveWorkbook.Save
Call limpiar_campo
MsgBox ("Registros Ingresados con Exito"), vbInformation, "CIFRAS"
End If
End If
End If
End Sub
Solución del problema
Esto puede ser relevante: https://stackoverflow.com/a/40442874/478884
Pude reproducir un bloqueo con un formulario de usuario que contenía un cuadro de lista con su RowSourceconjunto en una de las columnas en un objeto de lista: al agregar una nueva fila, Excel se bloqueó después de un par de segundos.
La publicación vinculada tiene la solución: desvincule los controles RowSourceantes de agregar la fila y luego vuelva a vincularlos.
No hay comentarios:
Publicar un comentario