Y sigo con lotus 123

Estimado fejoal:
Espero no abusar de su tiempo, ahí va la 2da. Pregunta:
como podría resolver el sig. Problema:
Tengo una base de datos en la hoja,
y de la misma tomo datos para relacionarlos y compararlos con otros, y eventualmente modificarlos, necesitaría que esos registros modificados, vuelvan actualizados a la base de datos, el caso concreto es: tengo una base de datos de productos con su precio, stock,
y compras actuales, en otra parte de la planilla cargo las compras de esos productos c/los datos que extraigo de la base, en este sector puedo: comparar y actualizar por ej. El precio de este insumo( vital en la Argentina de hoy), controlar la factura del proveedor, actualizar stock y acumulado de compras. Necesitaría saber como puedo a través de una macro actualizar el registro en la base de datos, sin que me surja al aplicar sobre la hoja funciones que tienen referencias circulares, no se si fui claro, ANTES EN MI VIEJO LOTUS123, CON /DQED (DATOS EXTRAER BORRAR) PODÍA BORRAR EL REGISTRO
VIEJO Y COPIABA EL REGISTRO NUEVO Y LISTO. ¿Con este bendito excel y sus filtros como lo puedo hacer?. Estas funciones no las encuentro o no las se buscar, desde ya lo planteo para no hacer el trabajo manuamente sino a través de una macro. Gracias- perdón por la longitud de la pregunta.
fernando
Su tocayo
Saludos de argentina.

1 respuesta

Respuesta
1
Conque vive en Argentina. Pobre, debe ser difícil por estos días. En fin...
Respecto a su consulta específica, hay un tema de organización del archivo más allá de que use su "viejo Lotus" o el "bendito Excel" (además, si sigue con esta actitud nostálgica, será difícil que aproveche las potencias de MS Excel).
Decía que depende cómo esté organizada la matriz, podría utilizar una función de búsqueda.
Veamos:
Supongamos el Precio en su base de datos de productos estuviese en la columna "K" de la hoja "Stock" y que el producto está identificado con un código (col. "D").
La matriz de Compras tiene el código de producto en la columna G y el precio a que fue comprado en la J de una hoja llamada "Compras" (Luego podrá adaptar estas columnas y hojas a la suya propia).
En alguna columna libre de la hoja "Stock" ingrese una fórmula como la siguiente, en la primer línea de productos (ej: 8):
=SI(ESNOD(BUSCARV($D8;Compras!$G$6:$J$12;1;0));K8;BUSCARV($D8;Compras!$G$6:$J$12;4;0))
Esta fórmula dice que si no encuentra el código en la hoja de "Compras" (esto gracias a la función ESNOD que el viejo Lotus no tenía) que ponga el valor actual de la hoja Stock. Pero si lo encuentra que traiga el valor de la hoja "Compras".
[Considere si suele usar comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]
Asígnele el formato deseado y, luego, copie esta celda y péguela en las restantes de esta misma columna, por cada item en la hoja "Stock".
De esta manera tendrá actualizado el precio del producto en aquellos casos que hubiese habido compras.
El paso siguiente, manual o por macro es pegar el resultado de esta columna sobre el precio que estaba en la columna "K".
Si lo quiere automatizar use la grabadora de macros o pegue este código en un modulo nuevo en el Editor de Visual Basic (Alt + F11 para abrirlo):
Sub ActPrec()
Columns("L:L").Copy 'Columna con Formulas
Columns("K:K").PasteSpecial Paste:=xlValues 'Columna de destino
Application.CutCopyMode = False
Range("K7").Select
Range("K7").Value = "Valor actual" ' Devuelve título a la columna
End Sub
Una consideración final: cuando empiece a adentrarse en las posibilidades de este programa y en particular de Visual Basic, encontrará un excelente lugar para hacer abundante "gimnasia mental"...
Pruebe lo que sugiero y, por favor, comenteme qué opina.
Un abrazo grande.
Su tocayo Y compatriota (y sí, yo también)
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas