Notifications
Clear all

Vba exportar excel para outro excel

6 Posts
4 Usuários
0 Reactions
1,645 Visualizações
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Bom dia!

Por favor, alguém conhece algum código vba para exportar uma planilha para outra planilha em outra pasta diferente da original?

Exemplo: eu tenho uma planilha que será chamada CONTROLE DE ANIMAIS, e nela eu vou ter um botão "clique aqui para exportar para outra planilha", quando o usuário clicar nesse botão a planilha será exportada.

Anexo, seguem os arquivos contendo mais detalhes.

muito obrigado a todos pela atenção.

 
Postado : 18/01/2018 4:59 am
(@romanha)
Posts: 104
Estimable Member
 

Bom dia!

Jnexcel,

Utilizei este codigo na planilha aqui no meu trabalho e funciona perfeitamente.

Sub importar()
 
'Fonte:https://www.rondebruin.nl/win/section3.htm
    Dim SourceRange As Range
    Dim DestRange As Range
    Dim DestWB As Workbook
    Dim DestSh As Worksheet
    Dim Lr As Long
        
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With

    'Altere o nome do arquivo (2 *) e o nome do caminho / arquivo para o seu arquivo
    If bIsBookOpen_RB("nome do caminho") Then
        Set DestWB = Workbooks("nome do caminho")
    Else                           ' Aqui o caminho deve ser igual ao camilho onde esta sua planilha de importação.
        Set DestWB = Workbooks.Open("C:Users.....")
    End If
    'se deseja copiar mais de 400 linhas altere o campo range (A2:BV400)
    Set SourceRange = ThisWorkbook.Sheets("File List").Range("A2:BV400")
    ' aqui e o nome da planilha onde os arquivos serão importados
    Set DestSh = DestWB.Worksheets("File List")

    Lr = LastRow(DestSh)
    Set DestRange = DestSh.Range("A" & Lr + 1)
    'Fazemos DestRange o mesmo tamanho do SourceRange e usamos o Valor
    'propriedade para dar DestRange os mesmos valores
    With SourceRange
        Set DestRange = DestRange.Resize(.Rows.Count, .Columns.Count)
    End With
    DestRange.Value = SourceRange.Value

    DestWB.Close savechanges:=True

    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
End Sub
  Function LastRow(sh As Worksheet)
    On Error Resume Next
    LastRow = sh.Cells.Find(What:="*", _
                            After:=sh.Range("A1"), _
                            LookAt:=xlPart, _
                            LookIn:=xlFormulas, _
                            SearchOrder:=xlByRows, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Row
    On Error GoTo 0
End Function

Function LastCol(sh As Worksheet)
    On Error Resume Next
    LastCol = sh.Cells.Find(What:="*", _
                            After:=sh.Range("A1"), _
                            LookAt:=xlPart, _
                            LookIn:=xlFormulas, _
                            SearchOrder:=xlByColumns, _
                            SearchDirection:=xlPrevious, _
                            MatchCase:=False).Column
    On Error GoTo 0
End Function

Function bIsBookOpen_RB(ByRef szBookName As String) As Boolean
' Rob Bovey
    On Error Resume Next
    bIsBookOpen_RB = Not (Application.Workbooks(szBookName) Is Nothing)
End Function

Se a resposta foi últil, gentileza, Amigo,clique na mãozinha ao lado direito da sua tela. canto superior.

" Aquele que habita no esconderijo do Altissimo, à sombra do Onipotente descansará. Salmos 91:1"

Atenciosamente.

Jason Romanha

 
Postado : 18/01/2018 7:02 am
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

não consegui :( :(

por favor, você poderia me ajudar?

muito obrigado.

 
Postado : 18/01/2018 11:19 am
(@avgsantos)
Posts: 28
Eminent Member
 

Boa noite, Jnexcel

Segue um exemplo do meu trabalho.

avgsantos

 
Postado : 18/01/2018 5:11 pm
(@klarc28)
Posts: 971
Prominent Member
 

Quando se referir ao arquivo, diga "pasta de trabalho".

 
Postado : 18/01/2018 6:16 pm
(@jnexcel)
Posts: 298
Reputable Member
Topic starter
 

Bom dia!

Muito obrigado a todos pela atenção e colaboração nessa dúvida.

avgsantos, código.

MAGNÍFICO

Muito obrigado!

 
Postado : 19/01/2018 5:20 am