Una familia de software de hoja de cálculo de Microsoft con herramientas para analizar, trazar y comunicar datos.
Si he entendido bien lo que pretendes; varias celdas con datos en cada fila (cada registro) e ir escribiendo registro bajo registro. Sería más sencillo un cuadro de texto para cada campo o título y escribir todo el registro de una sola vez, pero tal como entiendo que quieres... suponiendo los títulos de columna en la fila 1 (a partir de A1), prueba con un código similar a:
Option Explicit
Dim miCol As Double, miFila As Double
Private Sub UserForm_Activate()
Actual
End Sub
Private Sub CommandButton1_Click()
If Me.TextBox1.Value = "" Then
MsgBox "No existen datos para """ & Cells(1, miCol).Value _
& """.", vbCritical, "ASV - Error"
Me.TextBox1.SetFocus
Exit Sub
End If
Worksheets("Hoja1").Cells(miFila, miCol).Value = Me.TextBox1.Value
Me.TextBox1.Value = ""
Actual
Me.TextBox1.SetFocus
End Sub
Private Sub Actual()
miFila = Cells(Rows.Count, 1).End(xlUp).Row
miCol = WorksheetFunction.CountA(Rows(miFila)) + 1
If miCol > WorksheetFunction.CountA(Rows(1)) Then
miCol = 1: miFila = miFila + 1
End If
Me.Label1.Caption = Cells(1, miCol).Value
End Sub
Para escribir en una hoja concreta (otra hoja) debes indicar la hoja, por ejemplo...
Worksheets("BaseDeDatos").Cells(miFila, miCol).Value = Me.TextBox1.Value
... pero ten en cuenta que también deberás indicar la hoja, a la hora de tomar los valores de miFila, miCol, etc.