ELSA MATILDE Reemplazar registro en base de datos

Buenas Elsa, Mi pregunta es: Tengo una macro para grabar facturas en otra Hoja, de la 1 a la 2 . Manejo varias columnas (N°, Fecha, Cliente, Detalle, Valor Und, Vr Total, Vencimiento, etc). En algunas ocasiones debo modificar por ejemplo la fecha de vencimiento y quisiera poder reemplazar el registro que ya tengo con el modificado y hacerlo con una macro para no tener que hacerlo manualmente en la hoja 2. Quiero que vaya y me cambie todo el registro por el modificado, ¿Cómo puedo hacerlo?
Y como haría para, ¿dándole el N° de la factura me traiga con una macro a la hoja 1 todos los campos para poderla modificar y luego grabarlo nuevamente reemplazando el que ya tengo en la base de datos?

1 respuesta

Respuesta
1
Te puede servir el ejemplo que tengo en mi página de descargas. Se llama Interactuando con Userforms y verás cómo se mantiene una base de datos (altas, bajas y cambios) con el uso de un formulario.
http://es.geocities.com/lacibelesdepunilla/descargas
Si después necesitás ayuda para ajustarlo escribime nuevamente.
Elsa Matilde, muchas gracias por los userform, la verdad es que me serán de gran utilidad, pero ahora lo que necesito es una macro para asignársela a un botón de tal forma que lo que hoy tengo diseñado en la hoja y base de datos me ejecute la macro de modificar toda la fila del registro. Ejemplo
en la hoja 1 tengo unas celdas donde dígito la factura así
celda B3 n° Factura
celda D3 fecha
celda E3 cliente
celda F3 Vr
celda G3 Plazo
Celdas H3, I3, J3 otros datos y en la hoja 2 en las mismas columnas tengo la base de datos hacia abajo.  Ya tengo una macro que colocandole el n° de factura me trae los demas datos a las mismas celdas de la hoja 1 y es ahi donde puedo modificar la informacion para enviarla nuevamente a la hoja 2 donde me debe reemplazar el registro viejo con el nuevo
Espero me hayas entendido la idea
Gracias
Diego
La idea era que tomes las instrucciones de búsqueda de esos ejemplos, que si bien están en un Userform te sirven también para esto.
Seguramente tu macro de búsqueda tiene una instrucción con Find, por ej:
Set busco = Sheets("Hoja2").Range(...).find(factura)
if not isempty(busco) then   'significa que el dato fue encontrado
fila = busco.row    'esta línea guarda la fila del dato encontrado
'aquí vienen tus lineas para pasar los datos a la hoja1.
Ahora, para pasar nuevamente a la hoja2 los datos modificados, harás mención a esa variable fila que previamente la tenés que declarar pública (al inicio del módulo)
Sheets("Hoj2").cells(fila,1) = activesheet. Range("D3") 'dato en col A
repetirás esto para todas las col de la hoja2 cambiando el nro en cells(fila,?)
Elsa Matilde, definitivamente eres una dura del visual basic. Muchísimas gracias por tu ayuda. Me fue de gran utilidad y pude terminar mi macro
Diego

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas