El libro ya te fue enviado. Son muchas las macros como para dejarlas aquí, básicamente el cambio con respecto a tu versión original es que no necesitas pasar los campos del UF a la hoja activa para luego copiar esa fila en hoja Base, sino que ese pase se hace directamente a la hoja destino con instrucciones como:
Set hobc = Sheets("BD CLIENTES")
'1er fila libre en hoja BD para agregar nuevos registros
fily = hobc.Range("A" & Rows.Count).End(xlUp).Row + 1
hobc.Range("A" & fily) = txtNombre
hobc.Range("B" & fily) = txtRazon
Otra corrección a este formulario: al seleccionar un cliente en un desplegable se muestran sus datos en el resto de los campos. Aquí mismo ya se guarda la fila del registro encontrado, así luego en la subrutina de guardado se hace mención a esa fila:
Dim filClie as long 'se declara la variable al inicio del UF
En la subrutina del combobox se guarda la fila:
Set hobc = Sheets("BD CLIENTES")
'guardo la fila para luego modificar el registro allí mismo
filClie = cmbNombre.ListIndex + 2
'se suma 2 porque para el primer elemento el índice es 0 pero la fila en la hoja es 2
txtRazon = hobc.Range("B" & filClie)
El resto fue explicado en el mismo UF
Sdos.
Elsa