Esta sería la macro para el botón 'Crear' según tu modelo de hojas:
Private Sub botonAceptar_Click()
Application.ScreenUpdating = False
'EM: la hoja activa es FACTURA, entonces se pasan los campos allí a partir de col U
Range("U" & Range("U" & Rows.Count).End(xlUp).Row).Offset(1, 0).Select
ActiveCell = txtNombre
ActiveCell.Offset(0, 1) = txtRazon
ActiveCell.Offset(0, 2) = CDbl(txtNIT)
ActiveCell.Offset(0, 3) = cmbCiudad
ActiveCell.Offset(0, 4) = cmbCategoria
ActiveCell.Offset(0, 5) = txtContacto1
ActiveCell.Offset(0, 6) = txtCargo1
ActiveCell.Offset(0, 7) = CDbl(txtTelefono1)
ActiveCell.Offset(0, 8) = CDbl(txtExt1)
ActiveCell.Offset(0, 9) = CDbl(txtCelular1)
ActiveCell.Offset(0, 10) = txtCorreo1
ActiveCell.Offset(0, 11) = txtContacto2
ActiveCell.Offset(0, 12) = txtCargo2
ActiveCell.Offset(0, 13) = CDbl(txtTelefono2)
ActiveCell.Offset(0, 14) = CDbl(txtExt2)
ActiveCell.Offset(0, 15) = CDbl(txtCelular2)
ActiveCell.Offset(0, 16) = txtCorreo2
ActiveCell.Offset(0, 17) = txtDireccion
ActiveCell.Offset(0, 18) = txtObservaciones
'EM: copia de hoja Factura, a partir de col U, a hoja BDClientes primer fila libre
filx = ActiveCell.Row
fily = Sheets("BD CLIENTES").Range("A" & Rows.Count).End(xlUp).Row + 1
Range("U" & filx & ":AM" & filx).Copy Destination:=Sheets("BD CLIENTES").Range("A" & fily)
'EM: utilizar macro de limpieza
For Each miCtrl In Me.Controls
If TypeName(miCtrl) = "TextBox" Then miCtrl.Value = ""
If TypeName(miCtrl) = "ComboBox" Then miCtrl.Value = ""
Next miCtrl
'EM: debiera cerrar el UF no solo ocultarlo
Unload Me
'frmNuevoCliente. Hide
End Sub
Observa que dejo un bucle para limpiar los controles del formulario,... ese bucle te sirve también para colocar en el resto de los procesos. Incluso podría colocarse como una subrutina aparte (cuando te realice el 2do envío lo colocaré en el libro).
Sdos y no olvides valorar esta respuesta para continuar con el resto.