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

    Copiar de Excel para Excel via Access VBA

    Compartilhe

    Rafael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 587
    Registrado : 15/11/2011

    Copiar de Excel para Excel via Access VBA

    Mensagem  Rafael Silva em Qui 27 Jun 2013, 13:28

    Bom dia Pessoal !

    É possível copiar dados de uma planilha para outra especificando o Range através de um Botão no Access ?


    Tentei adaptar o codigo o Mestre JPaulo mas sem sucesso


    Private Sub SeuBotão_Click()
    'By JPaulo ® Maximo Access
    Dim rst As DAO.Recordset, strSQL As String, strLivro As String, xls As Object
    Set xls = CreateObject("Excel.Application")
       strLivro = CurrentProject.Path & "\teste.xls"
       xls.Workbooks.Open (strLivro)
       xls.Visible = True
       xls.Worksheets("Sheet1").Activate
       strSQL = "SELECT * FROM teste;"
    Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
       xls.ActiveSheet.Range("A1").Select
       xls.ActiveCell.CopyFromRecordset rst
       xls.ActiveWorkbook.Save
       xls.Application.Quit
    Set xls = Nothing
    End Sub


    Saudações !


    .................................................................................
    "Nunca abaixe a cabeça para ninguém,
    nem levante o nariz demais, olho no olho já é o suficiente."

    Leo19
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 16/12/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Leo19 em Ter 02 Jul 2013, 19:11

    Caros amigo, tente isso(Adapte).

    Sub Copiar_Dados()
    Dim wsOrigem As Worksheet
    Dim wsDestino As Worksheet

    'Arquivo Destino, abrimos primeiro
    'Ajuste o caminho do mesmo
    Workbooks.Open Filename:="C:\Documents and Settings\....\Master.xls"

    'Arquivos e Abas de Origem e Destino
    Set wsOrigem = Workbooks("1.xls").Worksheets("Plan1")
    Set wsDestino = Workbooks("BD.xls").Worksheets("Plan1")

    With wsOrigem
    .Range("B2:B500").Copy Destination:=wsDestino.Range("B2")
    .Range("F2:F500").Copy Destination:=wsDestino.Range("K2")
    .Range("J2:J500").Copy Destination:=wsDestino.Range("T2")
    End With

    'Fecha o Arquivo Destino e Salva
    Workbooks("BD.xls").Close SaveChanges:=True

    MsgBox "Introdução de Dados Concluída"
    End Sub

    Rafael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 587
    Registrado : 15/11/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Rafael Silva em Ter 02 Jul 2013, 23:11

    Obrigado pela resposta Leo !

    Mas esse código funciona perfeitamente se eu usar ele no VBa do Excel (Inclusive eu faco isso atualmente)

    Mas minha ideia e copiar de um arquivo excel para outro de dentro de uma aplicação Access.

    Tentei adaptar sei que VBA é a mesma sintaxe mas infelizmente não conseguir.

    Alguma sugestão?

    Saudacoes !


    .................................................................................
    "Nunca abaixe a cabeça para ninguém,
    nem levante o nariz demais, olho no olho já é o suficiente."

    Leo19
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 16/12/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Leo19 em Qua 03 Jul 2013, 15:46

    Tente isso, testei aqui ta funfando normal.Altere o código de maneira que possa utilizar em seu projeto, vou postar no anexo o BD que usei.

    fiz correndo aqui no trabalho,adapte a sua necessidade.

    Option Compare Database

    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:\Users\******\Documents\BOOK10.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:\Users\******\Documents\Book2.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
    Anexos
    Copiar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 11 vez(es)

    Rafael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 587
    Registrado : 15/11/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Rafael Silva em Qui 04 Jul 2013, 00:06

    Ola Leo Muito Obrigado pela ajuda!

    Testei e realmente funciona mas acontece alguns erros.

    * Da primeira vez ele copia quando executo na segunda da erro ao colar.
    * Outra coisa por algum motivo de de executar a planilha nao salva.

    Tente tbm espeficar o range ex.: De A1:D3  e depois de E4:H6 (A planilha onde vou colar nao tem acesso a todas as celular entao nao posso selecionar A1 e colar)

    Obrigado pela Paciência !
    Anexos
    Copiar_Excel.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (51 Kb) Baixado 12 vez(es)


    .................................................................................
    "Nunca abaixe a cabeça para ninguém,
    nem levante o nariz demais, olho no olho já é o suficiente."

    Leo19
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 26
    Registrado : 16/12/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Leo19 em Qui 04 Jul 2013, 15:13

    Rafael_jr,

    não entendi muito bem.Você quer copiar do range (A1:D3) da origem e depois colar no range(E4:H6) do destino?

    Rafael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 587
    Registrado : 15/11/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Rafael Silva em Qui 04 Jul 2013, 21:28

    Leo Mais uma vez obrigado !

    O que desejo fazer é copiar alguns range de um aquivo e colar examente no mesmo local mas na outra planilha.

    Ex

    Copiar do range (A1:D3) da origem e colar no range (A1:D3) Destino
    depois Copiar o range (E4:H6) da origem e colar no Range (E4:H6) Destino
    e por ai vai....
    Sao varios Ranges...


    Obrigado !


    .................................................................................
    "Nunca abaixe a cabeça para ninguém,
    nem levante o nariz demais, olho no olho já é o suficiente."

    Rafael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 587
    Registrado : 15/11/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Rafael Silva em Ter 09 Jul 2013, 21:15

    Up !


    .................................................................................
    "Nunca abaixe a cabeça para ninguém,
    nem levante o nariz demais, olho no olho já é o suficiente."

    Rafael Silva
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 587
    Registrado : 15/11/2011

    Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Rafael Silva em Sab 03 Out 2015, 00:35

    Desculpa Voltar nesse topico tanto tempo depois... mas nas época não resolvi o problema e agora voltei a precisar da mesma coisa.

    Precisava copiar uma range de uma planilha e colar em outra planilha clicando um botão no Access.
    Alguma sugestão ?

    Obrigado !


    .................................................................................
    "Nunca abaixe a cabeça para ninguém,
    nem levante o nariz demais, olho no olho já é o suficiente."

      Data/hora atual: Seg 05 Dez 2016, 16:30