Bom dia a todos.
Mensalmente preciso realizar a importação de várias planilhas do Excel para uma tabela única Access.
Localizei aqui no Fórum uma ajuda do JP para o Ilvecchio, aonde passou o código abaixo que já alterei para adaptar a minha necessidade, criando uma tabela "importadas", com as mesmas colunas que existem no arquivo excel (anexo):
Sub Importa()
Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim blnHasFieldNames As Boolean
blnHasFieldNames = True
strPath = "C:\PlanilhasImportar\" ' drive onde se situa o seu documento excel
strTable = "Importadas" 'nome da tabela no seu banco
strFile = Dir(strPath & "*.xlsm") 'nome do seu excel, se mudar para "*.xls" importa todas as folhas excel que estiverem em C:\ para a _ tabela do banco.
Do While Len(strFile) > 0
strPathFile = strPath & strFile
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames
strFile = Dir()
Loop
End Sub
********
Mas tenho dois problemas, para os quais preciso de ajuda.
1º - Meus arquivos de Excel precisam começar a partir da linha 05, pois na linha 04 ficam os títulos (pois são arquivos gerados de outras Macros).
2º - Mesmo realizando o teste de deixar o título na linha 01, a macro retorna a msg de "O campo F1 não existe na tabela de destino 'Importadas'.
Mensalmente preciso realizar a importação de várias planilhas do Excel para uma tabela única Access.
Localizei aqui no Fórum uma ajuda do JP para o Ilvecchio, aonde passou o código abaixo que já alterei para adaptar a minha necessidade, criando uma tabela "importadas", com as mesmas colunas que existem no arquivo excel (anexo):
Sub Importa()
Dim strPathFile As String, strFile As String, strPath As String
Dim strTable As String
Dim blnHasFieldNames As Boolean
blnHasFieldNames = True
strPath = "C:\PlanilhasImportar\" ' drive onde se situa o seu documento excel
strTable = "Importadas" 'nome da tabela no seu banco
strFile = Dir(strPath & "*.xlsm") 'nome do seu excel, se mudar para "*.xls" importa todas as folhas excel que estiverem em C:\ para a _ tabela do banco.
Do While Len(strFile) > 0
strPathFile = strPath & strFile
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames
strFile = Dir()
Loop
End Sub
********
Mas tenho dois problemas, para os quais preciso de ajuda.
1º - Meus arquivos de Excel precisam começar a partir da linha 05, pois na linha 04 ficam os títulos (pois são arquivos gerados de outras Macros).
2º - Mesmo realizando o teste de deixar o título na linha 01, a macro retorna a msg de "O campo F1 não existe na tabela de destino 'Importadas'.
- Anexos
- Modelo.xlsx
- Você não tem permissão para fazer download dos arquivos anexados.
- (9 Kb) Baixado 39 vez(es)