Cómo utilizar VBA para importar datos de Excel a Access

Después del parón obligado por Navidad volvemos con nuestro blog, hoy lo dedicamos a aprender mas cosas sobre Excel, recuerda que si te ha gustado lo que has leído compártelo!! Este articulo ha sido extraido de nuestro curso “Excel avanzado y programacion VBA”, el cual lo puedes consultar pinchando aqui.

Aprender a utilizar Visual Basic para aplicaciones para importar datos a Access puede hacer que su aplicación de base de datos más dinámico. En VBA , puede utilizar una combinación de objetos para abrir un libro de Excel existente e importar algunos datos a una tabla de Access. Utilice la biblioteca de objetos de Microsoft Excel en VBA para abrir el libro . El objeto Recordset se utiliza para abrir una tabla existente en el acceso y guardar los datos de Excel en el mismo. Usando VBA para importar datos puede reducir significativamente la cantidad de tiempo que pasa la importación de datos de forma manual.

Instrucciones:
1. Abrimos Microsoft Office Excel y escribimos ” datos1 ” en A2, y ” data2 ” en B2 . Pulsamos la tecla “Ctrl ” y ” S ” para abrir el “Guardar como” ventana de diálogo y guardamos el libro en “C: \\ Temp \\ ” as “. DataToImport.xlsx “.

2. Abrimos Microsoft Office Access , hacemos clic en “Base de datos en blanco ” y clic en el botón “Crear” . Hacemos clic en ” Herramientas de base de datos” y posteiormente clic en “Visual Basic ” para abrir la ventana del editor de VB hacemos clic en el menú ” Insertar” y luego clic en ” módulos” para insertar un nuevo módulo de código. Hacemos clic en el menú ” Herramientas”-> “Referencias “, y marcamos la casilla junto a ” biblioteca de objetos de Microsoft . ”

3. Ahora escribimos el siguiente código de VBA crear nuevo procedimiento sub :

Dim xlApp As Excel.Application
Dim xlBk As Excel.Workbook
Dim xlSht As Excel.Worksheet
Dim dbRst As Recordset
Dim dbs As Database
Dim sqlstr As String

Public Sub ImportPreVtas()

Set dbs = CurrentDb
Set xlApp = Excel.Application
Set xlBk = xlApp.Workbooks.Open(“F:\Proyectos\pruebappto.xlsx”)
Set xlSht = xlBk.Sheets(1)

sqlstr = “CREATE TABLE Exceldata(columnOne string, columnTwo string)”
DoCmd.SetWarnings False
DoCmd.RunSQL sqlstr
Set dbRst = dbs.OpenRecordset(“Exceldata”)
dbRst.AddNew
xlSht.Range(“A3”).Select
dbRst.Fields(0).Value = xlSht.Range(“A3”).Value
xlSht.Range(“B3”).Select
dbRst.Fields(1).Value = xlSht.Range(“B3”).Value
dbRst.Update
dbRst.Close
dbs.Close
xlBk.Close

End Sub

4. Presionamos “F5 ” para ejecutar el procedimiento.




Cómo utilizar Excel VBA para imprimir

Millones de propietarios de pequeñas empresas y emprendedores de todo el mundo utilizan Microsoft Excel para ayudar con las tareas comunes de contabilidad, previsión e inventario. Con las herramientas integradas de Excel, es relativamente simple enviar una hoja de cálculo o un cuadernillo de trabajo a alguien en un correo electrónico como archivo adjunto. Sin embargo, hay muchas veces que nada supera una copia con la información. Por supuesto, puedes usar la opción del menú “Archivo | Imprimir” en la barra de cinta para crear versiones impresas de la hoja de cálculo. Sin embargo, mediante el uso de Visual Basic para Aplicaciones o VBA, también puedes crear macros o botones de comando para realizar diversas tareas de impresión en Excel mucho más rápido y más eficientemente.

Activa la pestaña Programador

 1. Inicia Microsoft Excel y abre el libro o plantilla en la que deseas programar funciones de impresión con VBA. Haz clic en “Archivo” en la cinta de Excel y luego en “Opciones”.

2. Localiza y haz clic en el encabezamiento “Personalizar cinta de opciones” en el panel izquierdo de la ventana “Opciones de Excel”. Haz clic en la casilla de verificación junto a “Programador” en la sección de Pestañas principales bajo la etiqueta “Personalizar la cinta de opciones”.

3. Haz clic en el botón “Aceptar” para activar la pestaña “Programador” de la cinta y cerrar la ventana “Opciones de Excel”. Después de hacerlo Excel mostrará la pestaña “Programador” en la cinta de forma automática.

Crea un botón de impresión con VBA

 1. Haz clic en la pestaña “Programador” de la cinta. Haz clic en el icono “Insertar” de la flecha hacia abajo en la sección de “Controles” de la pestaña “Programador”. Oprime el icono “Botón de control” bajo “Controles de formulario”.

2. Haz clic en la celda de la hoja de cálculo en la que deseas colocar un botón de impresión. Después de hacer clic selecciona una celda, la ventana “Asignar macro” aparecerá automáticamente.

3. Ingresa “PrintCurrentSheet” o algo similar en el campo “Nombre de macro”. No uses espacios en el nombre. Haz clic en botón “Nuevo”. La ventana del editor de Visual Basic para Aplicaciones aparecerá y mostrará una nueva ventana de código.

4. Coloca el cursor del ratón en la línea de espacio entre los valores “PrintCurrentSheet Sub ()” y “End Sub”. Escribe el siguiente comando: ActiveSheet.PrintOut

5. Haz clic en el icono de disquete en la barra de herramientas del editor de VBA para guardar el código. Cierra la ventana del editor de VBA.

6. Haz clic con el botón derecho sobre el nuevo botón de comando y resalta el valor de texto predeterminado “Botón 1”. Cambia el texto de la etiqueta del botón a “Impresión rápida” u otro nombre descriptivo.

7. Haz clic en el botón nuevo de comando. Excel imprime la hoja de cálculo activa en la impresora predeterminada de Windows sin mostrar el cuadro de diálogo “Imprimir” normal.