Error(se reinicia el excel) al ingresar un nuevo item mediante un formulario a una tabla de una hoja de excel
Mediante un formulario en excel ingreso datos a una tabla en una hoja de excel, para ingresar los datos utilizo un módulo para encontrar la primera fila en blanco e inserto ahí los nuevo datos.
El problema sucede cuando inserto un nuevo item en la tabla cuando la tabla está cerrada de un rango hasta tal rango, por ejemplo A:1 hasta N:7 tengo datos y hasta allí está la tabla.

Y cuando inserto nuevos datos en la fila 8 desde la columna A hasta la N, el excel se cuelga y reinicia.

Con éste código(que está en un módulo y luego lo llamo en el botón Guardar) grabo los datos:
Sub guardar()
Dim sh As Worksheet
Dim ufila As Long
Set sh = ThisWorkbook.Sheets("Database")
ufila = nReg(Hoja1, 1, 1) 'aquí busco la primera celda vacía
With sh
.Cells(ufila, 1) = UserForm1.Txt_id.Text
.Cells(ufila, 2) = UserForm1.Txt_nombres.Text
.Cells(ufila, 3) = UserForm1.Txt_dni.Text
.Cells(ufila, 4) = UserForm1.Txt_celular.Text
.Cells(ufila, 5) = UserForm1.Txt_email.Text
.Cells(ufila, 6) = UserForm1.ComboBox1.Text
.Cells(ufila, 7) = UserForm1.Txt_razonsocial.Text
.Cells(ufila, 8) = UserForm1.Txt_ruc.Text
.Cells(ufila, 9) = UserForm1.Txt_usuariosol.Text
.Cells(ufila, 10) = UserForm1.Txt_clavesol.Text
.Cells(ufila, 11) = UserForm1.Txt_usuarioafp.Text
.Cells(ufila, 12) = UserForm1.Txt_claveafp.Text
End With
Cells(ufila, 13) = Application.UserName
Cells(ufila, 14) = [Text(Now(),"dd-mm-yyy hh:mm:ss")]
End SubLa solución que hasta ahora encontré es ampliar la tabla:

Y después de ello graba los datos y ya no se cuelga:

Pero el inconveniente es que ahora el Listbox me filtra datos vacíos:

Para cargar los datos al listbox utilizo lo siguiente:
Sub Reset() With UserForm1 .Txt_nombres.Value = "" .Txt_dni.Value = "" .Txt_celular.Value = "" .Txt_email.Value = "" .ComboBox1.Clear .ComboBox1.AddItem "I.P.C.N." .ComboBox1.AddItem "I. LIMA" .ComboBox1.AddItem "O.Z. CHIMBOTE" .Txt_razonsocial.Value = "" .Txt_ruc.Value = "" .Txt_usuariosol.Value = "" .Txt_clavesol.Value = "" .CheckBox1.Value = False .Txt_usuarioafp.Value = "" .Txt_claveafp.Value = "" .Txt_usuarioafp.Enabled = False .Txt_claveafp.Enabled = False .Lst_database.ColumnCount = 14 .Lst_database.ColumnHeads = True .Lst_database.ColumnWidths = "17;110;45;48;105;75;57;110;52;50;53;48;80;85" .Lst_database.RowSource = "Tabla_contribuyentes" End With End Sub
Lo que quiero es que la tabla esté cerrada y por ejemplo de A:1 hasta N:8 y cuando se ingrese un nuevo dato se actualice la tabla con ese nuevo item.

