Notifications
Clear all

Macro Para Exportar Dados

7 Posts
2 Usuários
0 Reactions
1,124 Visualizações
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Boa noite!

Estou encontrando uma dificuldade em criar uma macro que cópia os dados de uma certa planilha e cria uma nova pasta de trabalho com uma planilha chamada Pedido e cola os dados copiados da planilha anterior.
Cheguei a criar uma certa macro, porém ela, somente cria uma nova pasta de trabalho. Fiz uma modelo e estou enviando em anexo, caso alguém saiba como me ajudar ficarei grato.

obrigado!

 
Postado : 19/03/2013 5:18 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Já tentou algo do tipo

With Workbooks("Workbook1.xls") 
    .Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy _ 
    Before:=Workbooks("Workbook3.xls").Sheets(1) 
End If 
 
Postado : 19/03/2013 5:41 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Alexandre, desculpe-me pela minha ignorância, mas não consegui fazer o código funcionar, da erro.

 
Postado : 19/03/2013 5:47 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Alguém?...

 
Postado : 19/03/2013 7:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

With Workbooks("AquivoQueseraCopiado.xls") '<--Origem de cópia
.Sheets(Array("PLanilhasQueseramCopiadas1", "PLanilhasQueseramCopiadas2", "PLanilhasQueseramCopiadas3")).Copy _ '<--Origem de cópia
Before:=Workbooks("ArquivoqueseráColadoOsDados .xls").Sheets(1) '<--Destino de cópia
End If

 
Postado : 19/03/2013 7:41 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Uma possibilidade

Sub ExportaDados()
Dim Nome As String, NomeCopia As String, nPlan As String, Caminho As String
Dim UltLinha As Long
'Define valores para as variaveis
    'Guarda o nome da Planilha
    nPlan = ActiveSheet.Name
    'Guarda o nome do arquivo atual
    Nome = ActiveWorkbook.Name
    'Determina qual o local a ser salvo o novo arquivo
    Caminho = "c:Controle de Execução de Faixa"
    'Determina o nome para o novo arquivo
    NomeCopia = "Pedido de Venda " & nPlan
    ' Determina a qtde de planilhas no novo arquivo=1
    Application.SheetsInNewWorkbook = 1
    Range("A1:J8").Select
    Selection.Copy
    'Cria um novo arquivo
    Workbooks.Add
    'Salva os dado copiados no novo arquivo
    Range("A1").Select
    ActiveSheet.Paste
    'Renomeia a nova planilha
    ActiveSheet.Name = nPlan
        'Verifica se o diretorio existe, se não existir, cria
            If (Dir(Caminho, vbDirectory) = "") Then
                MkDir (Caminho)
            End If
        'Verifica se o arquivo já existe, se existir, deleta
            If (Dir(Caminho & NomeCopia & ".xlsx") <> "") Then
                Existe = MsgBox("  Arquivo Existente" & Chr(13) & _
                "Deseja Substitui-lo?", vbExclamation + vbYesNo, "Atenção")
               
                If Existe = vbYes Then
                    Kill Caminho & NomeCopia & ".xlsx"
                Else
                    GoTo sai
                End If
            End If
           
    'Salva o novo arquivo no caminho especificado
    ActiveWorkbook.SaveAs Caminho & NomeCopia & ".xlsx", CreateBackup:=False
    'Fecha o novo arquivo
    ActiveWorkbook.Close
             
    Windows(Nome).Activate
    Range("A3").Select
    Application.CutCopyMode = False
    'Retorna a qtde de planilhas ao padrão (3)
    Application.SheetsInNewWorkbook = 3
sai:
        End Sub
 
Postado : 20/03/2013 9:08 am
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Maravilha Reinaldo, era isso que eu estava precisando.

Muito Obrigado!

 
Postado : 20/03/2013 4:07 pm