Boa noite galera,
Pesquisei muito aqui no fórum e achei um exemplo que estou adaptando ao que preciso, mas falta um último ajuste que não estou conseguindo fazer.
Seguinte, tenho um arquivo em excel com várias guias (sheets). Preciso importar cada guia dessas para uma tabela diferente, incluindo os dados da respectiva guia e mantendo os dados existentes na tabela. O código abaixo faz perfeitamente essa função, inclusive sem a necessidade de criar tabela temporária, o que é ideal para mim. A questão é que ele só importa o arquivo que estiver em um local fixo, com um nome específico também. O que eu preciso é que ao clicar no botão, abra uma janela para selecionar o arquivo, independente do nome, ai o usuário seleciona o arquivo e ao dar ok ele importa para as respectivas tabelas normalmente, como já faz.
Estou anexando o bd com o arquivo em excel também para exemplificar melhor. É um projeto para o trabalho, se puderem me ajudar fico muito grato.
Pesquisei muito aqui no fórum e achei um exemplo que estou adaptando ao que preciso, mas falta um último ajuste que não estou conseguindo fazer.
Seguinte, tenho um arquivo em excel com várias guias (sheets). Preciso importar cada guia dessas para uma tabela diferente, incluindo os dados da respectiva guia e mantendo os dados existentes na tabela. O código abaixo faz perfeitamente essa função, inclusive sem a necessidade de criar tabela temporária, o que é ideal para mim. A questão é que ele só importa o arquivo que estiver em um local fixo, com um nome específico também. O que eu preciso é que ao clicar no botão, abra uma janela para selecionar o arquivo, independente do nome, ai o usuário seleciona o arquivo e ao dar ok ele importa para as respectivas tabelas normalmente, como já faz.
Estou anexando o bd com o arquivo em excel também para exemplificar melhor. É um projeto para o trabalho, se puderem me ajudar fico muito grato.
- Código:
Private Sub Comando0_Click()
Dim appExcel As Excel.Application
Dim wb As Excel.Workbook
Dim sh As Excel.Worksheet
Dim strValue As String
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Open("C:\Users\jprev\OneDrive\Área de Trabalho\Nova pasta\AO2019004301-B.xlsx") 'nome do seu excel e seu diretorio
For Each sh In wb.Sheets
Debug.Print sh.Name
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "tbl_" & sh.Name, "C:\Users\jprev\OneDrive\Área de Trabalho\Nova pasta\AO2019004301-B.xlsx", True, sh.Name & "!"
Next
wb.Close
appExcel.Quit
On Error GoTo 0
Exit Sub
End Sub
- Anexos
- Importar com janela.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (35 Kb) Baixado 11 vez(es)