Como usar o VBA para importar dados do Excel para o Access

Autor: Joan Hall
Data De Criação: 28 Janeiro 2021
Data De Atualização: 6 Poderia 2024
Anonim
#128 - Excel VBA - Inserir dados no Access - VBA e Importação - Parte B
Vídeo: #128 - Excel VBA - Inserir dados no Access - VBA e Importação - Parte B

Contente

Aprender a usar o Visual Basic for Applications para importar dados para o Access pode deixar sua aplicação de banco de dados mais dinâmica. No VBA, você pode usar uma combinação de objetos para abrir uma planilha do Excel e importar dados para uma tabela do Access. Use a Biblioteca de Objetos para o Microsoft Excel no VBA para poder abrir a planilha. O objeto Recordset é usado para abrir uma tabela no Access e salvar dados importados do Excel. Usar o VBA para importar dados reduz significativamente o tempo gasto caso fizesse o processo manualmente.


Instruções

Importe dados do Excel para o Access usando a Biblioteca de Objeto do Excel (Jupiterimages/Photos.com/Getty Images)
  1. Abra o Microsoft Excel e digite "data1" em A2 e "data2" em B2. Pressione Ctrl+S para salvar o documento. Salve a planilha em "C:Temp" com o nome "dataToImport.xlsx". Clique em Salvar e feche o Excel.

  2. Inicie o Microsoft Access, clique em "Novo Banco de Dados" e clique em "Criar". Clique em "Ferramentas de Banco de Dados" e clique em "Visual Basic" para abrir o editor do VB. Clique no menu "Inserir" e clique em "Módulo" para inserir um novo módulo de código. Clique no menu "Ferramentas" e depois em "Referências" e marque a caixa ao lado de "Biblioteca de Objetos do Microsoft Excel '.

  3. Comece digitando o código VBA a seguir para criar um novo sub-procedimento:


    Private Sub importExcelData()

  4. Digite o código a seguir para criar as variáveis a serem usadas para ler o Excel:

    Dim xlApp As Excel.Application Dim xlBk As Excel.Workbook Dim xlSht As Excel.Worksheet

  5. Digite o código a seguir para criar as variáveis a serem usadas no Access:

    Dim dbRst As Recordset Dim dbs As Database Dim SQLStr As String

  6. Digite o código a seguir para definir os objetos do banco e também para definir qual planilha usar:

    Set dbs = CurrentDb Set xlApp = Excel.Application Set xlBk = xlApp.Workbooks.Open("C:TempdataToImport.xlsx") Set xlSht = xlBk.Sheets(1)

  7. Crie uma nova tabela com duas colunas no Access para importar dados do Excel. Digite o código a seguir para criar a tabela usando o objeto DoCmd:

    SQLStr = "CREATE TABLE excelData(columnOne TEXT, columnTwo TEXT)" DoCmd.SetWarnings False DoCmd.RunSQL (SQLStr)

  8. Abra a tabela que você acabou de criar usando um objeto Recordset. Digite o código a seguir para abrir a tabela e adicionar uma nova linha:


    Set dbRst = dbs.OpenRecordset("excelData") dbRst.AddNew

  9. Digite o código a seguir para obter os valores da planilha do Excel, salvá-las em sua tabela e atualizar o registro:

    xlSht.Range("A2").Select dbRst.Fields(0).Value = xlSht.Range("A2").Value xlSht.Range("B2").Select dbRst.Fields(1).Value = xlSht.Range("B2").Value dbRst.Update

  10. Termine o procedimento digitando o seguinte código de VBA:

    dbRst.Close dbs.Close xlBk.Close End Sub

  11. Pressione F5 para executar o procedimento. Os dados da planilha do Excel serão importados para sua tabela do Access.