MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido] - Importar Varios Sheets de Varias Planilhas Excel para uma só Tabela no MS Access

    Compartilhe

    waraujo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 04/02/2010

    [Resolvido] - Importar Varios Sheets de Varias Planilhas Excel para uma só Tabela no MS Access

    Mensagem  waraujo em Ter 06 Set 2011, 19:46

    Galera Estou aqui para mais uma ajuda.

    Bom é o Seguinte tenho varias planilhas em Excel com Varios Sheets em cada uma, o que preciso é importar todas as planilhas com os varios sheets para minha tabela Access..Já consegui o codigo para importar todas as Planilhas, e Tambem o Codigo para importar Todos os Sheets, com os Codigos do nosso Mestre JPaulo...Mas não Estou Conseguindo Unir os Dois Codigos Para Fazer o que eu Preciso, Seria Possivel Algue me ajudar...
    -----------------------
    'Importa de uma só vez, todas as folhas de excel que estiverem em c:\ para a tabela
    'By JPaulo ® Maximo Access

    Private Sub SeuBotao_Click()
    Dim strPathFile As String, strFile As String, strPath As String
    Dim strTable As String
    Dim blnHasFieldNames As Boolean
    blnHasFieldNames = True
    strPath = "C:" ' drive onde se situa o seu documento excel
    strTable = "tblExemplo" 'nome da tabela no seu banco
    strFile = Dir(strPath & "*.xls") '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

    -------------------------------------
    'Este importa todos os dados de todos os sheets para a mesma tabela:
    'By JPaulo ® Maximo Access


    Private Sub SeuBotao_Click()
    Dim appExcel As Excel.Application
    Dim wb As Excel.Workbook
    Dim sh As Excel.Worksheet
    Dim strValue As String
    Dim strTable As String
    strTable = "tblExemplo" 'nome da tabela no seu banco
    Set appExcel = CreateObject("Excel.Application")
    Set wb = appExcel.Workbooks.Open("C:\temp.xls") 'nome do seu excel e seu diretorio
    For Each sh In wb.Sheets
    Debug.Print sh.Name
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, "C:\temp.xls", True, sh.Name & "!"
    Next
    wb.Close
    appExcel.Quit
    On Error GoTo 0
    Exit Sub
    End Sub

    --------------------------------------------------
    O que eu Preciso é Executar este Dois Codigos mas Juntos, Ou Seja Preciso Importar Varias Planilhas que estão em uma Pasta no Drive, mas dentro destas Planilhas Existe uma Media de 3 a 6 Sheets.....Tentei Criar um mas esta dando muito erro...
    Obrigado ao Amigos Do Forum...

    Abraço a Todos !!!!!!




    Última edição por waraujo em Sab 10 Set 2011, 01:39, editado 1 vez(es)


    .................................................................................
    Que Deus Abençoe à todos aqui presente.
    Não Fique Pobre Fazendo Festa com Dinheiro Emprestado.
    Eclesiástico 18,33
    Wellington Araujo

    waraujo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 04/02/2010

    Re: [Resolvido] - Importar Varios Sheets de Varias Planilhas Excel para uma só Tabela no MS Access

    Mensagem  waraujo em Qua 07 Set 2011, 20:59

    Estou tentando fazer O Seguinte !

    Private Sub Comando67_Click()
    Dim appExcel As Excel.Application
    Dim wb As Excel.Workbook
    Dim sh As Excel.Worksheet
    Dim strValue As String
    Dim strTable As String
    Dim strPathFile As String, strFile As String, strPath As String
    Dim blnHasFieldNames As Boolean
    blnHasFieldNames = True

    strPath = "D:\Teste access\TesteEscala\" ' drive onde se situa o seu documento excel
    strTable = "tblExemplo" 'nome da tabela no seu banco
    strFile = Dir(strPath & "*.xls")
    'Set appExcel = CreateObject("Excel.Application")
    'Set wb = appExcel.Workbooks.Open("D:\Teste access\TesteEscala\teste.xls") 'nome do seu excel e seu diretorio
    Do While Len(strFile) > 0
    strPathFile = strPath & strFile
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNamesstrFile = Dir()
    For Each sh In wb.Sheets
    Debug.Print sh.Name
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, "D:\Teste access\TesteEscala\teste.xls", True, sh.Name & "!"
    Next
    wb.Close
    appExcel.Workbooks.Close
    appExcel.Quit

    Loop
    On Error GoTo 0
    Exit Sub
    End Sub

    Mas não Esta a Funcionar, Esta Dando Erro de Variavel......
    ja tentei de outras maneiras mas sou iniciante no assunto estou com Dificuldades Alguem Pode me Ajudar !!!!!
    Obrigado !


    Última edição por waraujo em Sab 10 Set 2011, 01:36, editado 1 vez(es)


    .................................................................................
    Que Deus Abençoe à todos aqui presente.
    Não Fique Pobre Fazendo Festa com Dinheiro Emprestado.
    Eclesiástico 18,33
    Wellington Araujo

    waraujo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 04/02/2010

    Re: [Resolvido] - Importar Varios Sheets de Varias Planilhas Excel para uma só Tabela no MS Access

    Mensagem  waraujo em Qui 08 Set 2011, 20:07

    Amigos Alguem sabe como fazer isto que Preciso ?


    .................................................................................
    Que Deus Abençoe à todos aqui presente.
    Não Fique Pobre Fazendo Festa com Dinheiro Emprestado.
    Eclesiástico 18,33
    Wellington Araujo

    waraujo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 42
    Registrado : 04/02/2010

    Re: [Resolvido] - Importar Varios Sheets de Varias Planilhas Excel para uma só Tabela no MS Access

    Mensagem  waraujo em Sex 09 Set 2011, 02:26

    O Galera Pra quem Não Sabe ai Vai a Resposta.......
    Como Importar Varias Sheets de Varias Planilhas Excel, de Uma Determinada Pasta, para uma tabela no Access......

    ' Importar varios Sheets de Varias Planilhas para a mesma tabela
    Private Sub SeuComando_Click()
    'Wellington Araujo
    'Declaração das Variaveis
    Dim appExcel As Excel.Application
    Dim wb As Excel.Workbook
    Dim sh As Excel.Worksheet
    Dim strValue As String
    Dim strTable As String
    Dim strPathFile As String, strFile As String, strPath As String
    Dim blnHasFieldNames As Boolean
    blnHasFieldNames = True

    'Limpa a Tabela Tab_Exemplos
    DoCmd.SetWarnings (False)
    SQL = "DELETE * FROM Tab_Exemplos"
    DoCmd.RunSQL SQL
    DoCmd.SetWarnings (True)

    strPath = "C:\Meus Documentos\teste\" ' drive onde se situa o seu documento excel
    strTable = "Tab_Exemplo" 'nome da tabela que sera criada no seu banco
    strFile = Dir(strPath & "*.xls") 'nome do seu excel, se mudar para "*.xls" importa todas as folhas excel que estiverem no Drive para a tabela do banco.

    Do While Len(strFile) > 0
    strPathFile = strPath & strFile

    Set appExcel = CreateObject("Excel.Application")
    Set wb = appExcel.Workbooks.Open(strPathFile) 'nome do seu excel e seu diretorio

    For Each sh In wb.Sheets

    Debug.Print sh.Name
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, True, sh.Name & "!"

    Next

    wb.Close
    appExcel.Quit

    strFile = Dir()
    Loop

    On Error GoTo 0
    Exit Sub


    End Sub


    .................................................................................
    Que Deus Abençoe à todos aqui presente.
    Não Fique Pobre Fazendo Festa com Dinheiro Emprestado.
    Eclesiástico 18,33
    Wellington Araujo

    ilvecchio
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 127
    Registrado : 16/11/2012

    Importar várias planilhas excel

    Mensagem  ilvecchio em Qui 18 Set 2014, 12:56

    Buenas!
    Peguei este código do João Paulo:

    Sub Importa10030()

    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 = "10030_PlanilhasImportadas" 'nome da tabela no seu banco
    strFile = Dir(strPath & "*.xls") '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


    Bacana. Importa legal, mas insere várias linhas em branco na tabela. Nada que não possa ser resolvido com uma consulta exclusão.
    Porém, quero entender porque isso acontece, e saber se posso matar a questão na origem.

      Data/hora atual: Sab 10 Dez 2016, 04:57