Bases de datos, archivos y fórmulas de Excel. Relacionar los archivos con una base de datos

Tengo una base de datos de algunos productos, la cual quisiera que estuviera disponible para todas las hojas y todos los libros abiertos.
Normalmente la uso para todas mis archivos, pero tengo el problema que cuando hay nuevo código, actualizo el archivo actual y no los demás, lo que implica que tengo si tengo 10 archivos, también tengo 1 base de datos para cada una, que en si es la misma base de datos.
Normalmente en cada archivo, utilizo la fórmula de Búsqueda BUSCARV, porque son planillas de captura, en la cual simplifico el llenado de datos con la fórmula antes mencionada.
Por lo tanto te pregunto que,
Cual es la forma para utilizar una sola base de datos, para todos los archivos. Y además también como pudiera introducir por medio de VBA, algo similar a la fórmula BUSCARV, en la cual no escribiera la fórmula directamente en la celda, he visto algo similar en un código y es el siguiente:
Private Sub Worksheet_Change(Byval target as Excel.Range)
Capcol. = " E"
ColHora= "H"
CapCol =Asc(ucase(Capcol)) -64
ColHora= Asc(Ucasae(ColHora)) -64
If target.Column = CapCol then
Target.(Offset(0,colHora.Value = Now
End sub
Se que este código, introduce la hora de captura, pero lo interesante, esta en que, sobre la celda no hay fórmula escrita. Se que lo que estoy consultando es algo difícil, pero si tienes algo idea al respecto te lo agradeceré mucho.
Por la atención que prestes a mi correo mil gracias.
José Medina

1 Respuesta

Respuesta
1
Vamos por partes.
1. Disponer de una base de datos para cualquier libro abierto.
Lo primero que se me ocurre es lo siguiente. ¿Particularmente crearía un fichero de Excel que se llamara? ¿Base de datos códigos?, por ejemplo. Desde cualquier nuevo archivo de Excel, llamaría a esta base de datos para que me actualizara los registros en mi nuevo fichero. ¿De esta forma solamente tendría que actualizar los registros en el fichero? ¿Base de datos códigos?.
Si me indicas tu dirección de e-mail, te haré llegar un ejemplo como el que te he comentado anteriormente, con los aspectos más importantes que tendrías que tener en cuenta.
2. Introducir la fórmula BUSCARV en VBA.
Esto es muy fácil. Si sigues el siguiente proceso la tendrás creada en un momento.
- Abre una libro de Excel en el que tengas una base de datos, por ejemplo los códigos que mencionas.
- Inserta a la derecha de esta base de datos la fórmula BUSCARV que utilizas habitualmente, de forma que busque un código en el rango de la base de datos y te devuelva, por ejemplo, el nombre del código.
- Una vez introducida la función (asegúrate que funciona), ¿posiciónate de nuevo encima de la función y selecciona? ¿Herramientas?-? ¿Macro?-? ¿Grabar Nueva Macro?. Acepta el nombre que te asigne.
- Cuando pulses aceptar comienza la grabación de la macro. Ahora, en la celda donde has insertado la fórmula, ¿pulsa la tecla? ¿F2?. Esto hará que se edite la fórmula en la parte superior de tu pantalla. ¿Coloca el cursor encima del rango en donde busca la descripción y pulsa la tecla? ¿F4? (El rango se especifica de la forma AA1:BB90, ¿posiciónate encima de AA1 y pulsa? ¿F4? ¿Y encima de? ¿BB90? ¿Y pulsa? ¿F4?).
- Con esto fijamos el rango de forma absoluta.
- Ahora pulsa INTRO.
- Detén la grabación.
- Si accedes ahora a VBA (Alt+F11) y despliegas los módulos, en el Módulo 1 se ha grabado la fórmula BUSCARV.
Respecto a lo que dices de que no se ve la fórmula insertada, sino simplemente el valor, se consigue con el siguiente código (¿supongo qué he insertado la fórmula en? ¿A1?):
?********* INICIO DE CÓDIGO ******
Range("A2").Select
' Lo pegamos como valor para que no varíe el número.
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
?********* FIN DE CÓDIGO ******
Lo dicho, si me indicas tu e-mail te haré llegar un ejemplo de estas características.
Espero haber aclara tu problema.
Un abrazo!
César M.C.M.
Ha salido un mensaje a la dirección de e-mail indicada.
Un abrazo!
César M.C.M.
Por favor me puedes enviar el archivo, mi correo es :
josemedinamaciel(Arroba)Hotmail.com
El e-mail anterior he insertado unos ficheros que ocupan 21 Mb. Me he equivicado. Estoy esperando que me devuelva un mensaje de error. En cuanto pueda te anexo los ficheros correctos.
Un abrazo!
César M.C.M.
Ha salido un mensaje (ahora sí, el correcto) a la dirección de e-mail indicada.
Un abrazo!
César M.C.M.
Funciona de maravilla, la verdad es un ejemplo muy ilustrativo, en verdad mil gracias. Claro que voy a tener que adaptarlo a mis necesidades, pero la ruta esta trazada. En verdad mil gracias
Jose Medina

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas