Macro guardarinformacion de formulario a hoja de excel
Soy novato en esto de macros y vba, estoy haciendo una macro y formularios para guardar información en una base de datos, algo así como un maestro de códigos.
El asunto es que ya tengo casi todo avanzado, lo único que no consigo es que la información insertada en el formulario "CONFIRMAR_ALTA" logre guardarse en una hoja de excel llamada "DATOS", en filas consecutivas, es decir,
A2 (BIN)
B2 (PAÍS)
C3 (EMISOR)
D3 (CORREO 1)
E3 (CORREO 2 )
El error, es que siempre se guarda en la misma fila, es decir la reemplaza. Cuando lo que quiero es que si ingreso nueva data, pase a la fila siguiente.
Aquí el código del formulario "CONFIRMAR_ALTA":
Private Sub CommandButton1_Click()
Dim i As Double
Dim final As Double
Application.ScreenUpdating = False
Worksheets("DATOS").Visible = True
Worksheets("DATOS").Select
final = Range("J" & Rows.Count).End(xlUp).Row + 1
For i = 2 To final
If Worksheets("DATOS").Cells(i, 2) = "" Then
final = i
Exit For
End If
Next
'GRABAMOS ALTA NUEVO CLIENTE
Worksheets("DATOS").Cells(final, 1) = ALTA_CLIENTE.TextBox1
Worksheets("DATOS").Cells(final, 3) = ALTA_CLIENTE.TextBox2
Worksheets("DATOS").Cells(final, 4) = ALTA_CLIENTE.TextBox3
Worksheets("DATOS").Cells(final, 5) = ALTA_CLIENTE.TextBox5
Worksheets("DATOS").Cells(final, 2) = ALTA_CLIENTE.ComboBox5
'LIMPIAMOS EL FORMULARIO
ALTA_CLIENTE.TextBox1 = Empty
ALTA_CLIENTE.TextBox2 = Empty
ALTA_CLIENTE.TextBox3 = Empty
ALTA_CLIENTE.TextBox5 = Empty
ALTA_CLIENTE.ComboBox5 = Empty
Worksheets("DATOS").Visible = False
Application.ScreenUpdating = True
Application.DisplayAlerts = False
ActiveWorkbook.Save
CONFIRMAR_ALTA.Hide
End Sub
Private Sub CommandButton2_Click()
CONFIRMAR_ALTA.Hide
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub