UserForm para modificación de datos

Tengo un user form que me permite crear nuevos cliente y enviar esta información a una base de datos o modificar los datos de los clientes.

La creación de los clientes lo hace perfectamente, pero al intentar modificar los datos de algún cliente me crea un nuevo cliente.

1 respuesta

Respuesta
2

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas