Escribir en Excel desde un programa en Access

Tengo una base de datos en access, y estoy utilizando VBA para varias validaciones, lo que deseo es escribir desde mi programa en Access a una hoja de excel previamente creada donde ya tengo preformateado una gráfica. Solamente deseo escribir en una archivo de excel en espefico, hoja y celda. Vi que hay instrucciones para exportar datos desde access a un archivo en excel en especifico, pero yo no tengo el control sobre que celda y escribir exactamente el dato. Así que deseo saber como puedo escribir directamente en una celda en especifico, y ademas también, como mando abrir el archivo de excel. Disculpen las molestias pero es que soy nuevo en Access y VBA.

1 Respuesta

Respuesta
1
Aúpa,
I. Para que desde tu hoja de Excel puedas recoger datos de Access, te propongo que vincules en tu Base de Datos Access la Hoja de Cálculo.
Paso a detallarte la solución:
1. Crea en tu Libro de Excel una Hoja donde vamos a dejar los datos de Access (vamos a suponer que a esta hoja le llamamos HojaDatos).
1.1 En la primera Fila escribe el nombre de los campos
Esta Hoja deberá tener la misma estructura que la tabla o consulta donde tienes los datos que necesitas para la gráfica.
2. En tu Base de Datos de Access, vincula la Hoja de Excel:
2.1 Desde la ventana de Base de Datos, utiliza la opción Vincular tablas del Menú contextual.
2.2 Selecciona el Fichero de Excel donde tienes la Hoja
2.3 Elije la Hoja que hemoS creado HojaDatos
Ahora HojaDatos es una tabla más de tu Base de Datos, como cualquier otra.
3. Vuelca en la tabla Vinculada HojaDatos, mediante una consulta, los datos para la gráfica.
4. En la Hoja de Excel ahora ya puedes hacer referencia a las celdas de la Hoja HojaDatos, donde tendrás todos los datos que necesitas.
(Por si acaso, te recuerdo que en Access también puedes hacer gráficas igual que las de Excel. Por si lo desconocías, y te es de utilidad)
Espero que esto haya resulto tu problema, vamos con la segunda parte de la pregunta...
II. Cómo lanzar el Excel desde Access.
--------------------------------------
Es muy sencillo, basta con usar el comando Shell desde Visual Basic ( o la acción EjecutarAplicación si utilizas una Macro)
El comando Shell funciona igual que la opción "Ejecutar" del menú Inicio de Windows.
Supón que queremos abrir un fichero de Excel llamado MiFichero, que se encuentra en la carpeta c:\MiCArpeta.
En Visual Basic, bastaría con poner lo siguiente donde quieres abrir el fichero de Excel:
Dim Valor As Double
Valor = Shell("C:\Archivos de programa\Microsoft Office\Office\EXCEL.EXE C:\MiCarpeta\MiArchivo.xls", vbMaximizedFocus)
(Puede que la ruta donde tengas el ejecutable del Excel sea distinta)
(El segundo parámetro indica el modo en que se debe abrir la nueva ventana, en la ayuda del Access tienes detalladas todas las opciones si buscas en el índice: Shell)
Con una Macro es mucho más fácil, te basta con utilizar la Acción EjecutarAplicacion, y poner como parámetro "C:\Archivos de
programa\Microsoft Office\Office\EXCEL.EXE C:\MiCarpeta\MiArchivo.xls".
Espero que con esto quede todo resuelto. Cualquier duda o pega que tenga, no dudes en consultármela.
Un abrazo,
Javi

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas