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]Copiar de Excel para Excel dentro do Access

    Compartilhe

    PepeTuga
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 17/10/2013

    [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  PepeTuga em Dom 12 Abr 2015, 09:08

    Amigos,

    Encontrei aqui no fórum este tópico (http://www.maximoaccess.com/t13896-copiar-de-excel-para-excel-via-access-vba?highlight=copiar+excel) já antigo do nosso amigo Rafael que ficou por resolver (pelo menos não se encontra trancado).

    Preciso fazer o mesmo processo e não estou conseguindo, ou seja, copiar os valores de uma tabela Excel para outra tabela Excel dentro do Access. Passo a explicar:

    1. Tenho o ficheiro “Origem.xls”
    2. Tenho o ficheiro “Destino.xls”
    3. Pretendo copiar os dados existentes no ficheiro “Origem.xls”, através de seleção do caminho deste ficheiro, para o ficheiro “Destino.xls” (cujo caminho estará previamente definido) e para uma folha específica (Ex: Folha2)
    4. De preferência sem necessidade de abertura dos ficheiros Excel.

    Apesar do código abaixo (disponibilizado no tópico) não fazer o que pretendo, e de gerar alguns erros, penso que poderá servir de orientação para a solução.

    Código:

    Sub copiar()
    Dim Xl As Excel.Application
    Dim wb As Workbook
    Dim rng As Range
    Dim LastRow As Long
    Dim ws As Worksheet
    Dim l As Long
    Dim cell As Range
    Dim fs As FileSystemObject

     Set Xl = New Excel.Application
     Xl.DisplayAlerts = False
     Xl.Visible = True
     
     FileName = "C:\Origem.xlsx" ' Caminho da Planilha
      
     Set wb = Xl.Workbooks.Open(FileName) 'Abro planilha
     Set ws = wb.Worksheets(1) 'Assumo que usarei a primeira sheet
     l = 1 ' Assumo que copiarei da primeira linha
     
     Do While Trim(ws.Range("A" + Trim(Str(l))).Value) <> "" ' Verifico quantidade de linhas a serem copiadas
     l = l + 1
     Loop
     
    Set cell = ws.Range("A1", "B" + Trim(Str(l))) 'Range a ser copiado
    cell.Copy

    FileName2 = "C:\Destino.xlsx"
     
     Set wb = Xl.Workbooks.Open(FileName2)
     Set ws = wb.Worksheets(1)
     Range("A1").Select
     ActiveSheet.Paste
     
    Set ws = Nothing 'zera a variável da sheet
       Set cell = Nothing 'zera a variavel do range a ser copiado
       wb.Saved = True 'não salva o excel
       wb.Close 'fecha o excel
       Set wb = Nothing 'zera o workbook
       Set Xl = Nothing 'zera a variavel do excel
     
    MsgBox "Introdução de Dados Concluída"

    End Sub

    Segue também a BD exemplo deixada naquele tópico para facilitar o estudo.

    Obrigado desde já a todos os interessados!
    Pepe
    Anexos
    Copiar_Excel.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (51 Kb) Baixado 7 vez(es)

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3216
    Registrado : 15/03/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  ahteixeira em Dom 12 Abr 2015, 17:11

    Olá António, veja aqui: [Você precisa estar registrado e conectado para ver este link.]
    Também recomendo a leitura destes excelente exemplo do JPaulo (Caso necessite criar separadores "folhas" novas no excel):
    [Você precisa estar registrado e conectado para ver este link.]
    Abraço

    PepeTuga
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 17/10/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  PepeTuga em Dom 12 Abr 2015, 22:45

    Ora viva Teixeira!
    Mais uma vez querendo ajudar, grande amigo!
    Vou estudar o material que você indicou e depois darei retorno.
    Grande abraço,
    Pepe

    PepeTuga
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 17/10/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  PepeTuga em Dom 12 Abr 2015, 23:50

    Amigo Teixeira,

    Já experimentei as duas soluções e é o seguinte:
    -No primeiro link, apesar de indicar que seria um código para um processo igual ao que pretendo, não funciona porque (segundo o que entendi da sua construção) o código disponibilizado é para utilizar dentro Excel e não no Access;
    - No exemplo disponibilizado pelo JPaulo, é muito bom, mas não é o que pretendo. Ele exporta do Access para Excel.

    Curioso é que o exemplo que disponibilizei ele funciona bem na primeira cópia mas se quisermos fazer uma segunda já dá erro!!??.

    Agradeço na mesma as suas dicas.

    Aguardarei por mais possíveis soluções.

    Abraço,
    Pepe

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3216
    Registrado : 15/03/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  ahteixeira em Seg 13 Abr 2015, 18:09

    Olá
    Não poderia ser importar para um ficheiro temporario em Access e depois exportar?
    Assim acho que ate poderia ter mais vantagens (informaçao para qualquer processamento ou ate filtragem)
    Abraço

    PepeTuga
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 17/10/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  PepeTuga em Sab 18 Abr 2015, 17:59

    Viva!
    Também poderá ser dessa forma.
    Alguma sugestão de um código VBA para fazer dessa maneira?
    Obrigado!
    Pepe

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3216
    Registrado : 15/03/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  ahteixeira em Seg 20 Abr 2015, 23:27

    Olá,
    Veja se atende (testado em 2007)
    Abraço
    Anexos
    CopiarFolhaExcel.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (29 Kb) Baixado 15 vez(es)

    PepeTuga
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 83
    Registrado : 17/10/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  PepeTuga em Qua 22 Abr 2015, 14:02

    Boas!
    Testado e aprovado!
    Obrigadão Teixeira!
    Grande Abraço!
    Pepe

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3216
    Registrado : 15/03/2013

    Re: [Resolvido]Copiar de Excel para Excel dentro do Access

    Mensagem  ahteixeira em Qua 22 Abr 2015, 16:51

    Olá Pepe,
    Obrigado pelo retorno, os utilizadores do fórum agradecem.
    Abraço cheers

      Data/hora atual: Sex 09 Dez 2016, 03:52