MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


    Copiar de Excel para Excel via Access VBA

    avatar
    Convidado
    Convidado


    Copiar de Excel para Excel via Access VBA Empty Copiar de Excel para Excel via Access VBA

    Mensagem  Convidado 27/6/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 !
    Leo19
    Leo19
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Leo19 2/7/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
    avatar
    Convidado
    Convidado


    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Convidado 2/7/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 !
    Leo19
    Leo19
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Leo19 3/7/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 de Excel para Excel via Access VBA AttachmentCopiar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 13 vez(es)
    avatar
    Convidado
    Convidado


    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Convidado 4/7/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 !
    Leo19
    Leo19
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Leo19 4/7/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?
    avatar
    Convidado
    Convidado


    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Convidado 4/7/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 !
    avatar
    Convidado
    Convidado


    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Convidado 9/7/2013, 21:15

    Up !
    avatar
    Convidado
    Convidado


    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Convidado 3/10/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 !

    Conteúdo patrocinado


    Copiar de Excel para Excel via Access VBA Empty Re: Copiar de Excel para Excel via Access VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 22:16