Notifications
Clear all

Macro cópia de diversas abas para em uma sequencia específic

14 Posts
2 Usuários
0 Reactions
1,844 Visualizações
(@inimacro)
Posts: 17
Active Member
Topic starter
 

Bom dia,

Sou iniciante em macro e estou tetando um código que consiga copiar os dados espalhados em diversas células e colar em uma sequência definida em outra planilha. Consegui desenvolver uma macro que copia da aba "proj 1" e cola na sequencia desejada(linha 1) da outra planilha, porem não sei como fazer para rodar para as demais abas e que cole na as informações da "proj 2" na linha 2, "proj 3" na linha 3 e assim por diante. Alguem pode me ajudar? Segue o código que consegui até o momento.

Sub Macro1()
'proj 1 nome
    Windows("dadosnewpit.xlsx").Activate
    Sheets("proj 1").Range("A2").Copy
    Windows("macro.xlsx").Activate
    Range("a2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'proj 1 tipo
    Windows("dadosnewpit.xlsx").Activate
    Sheets("proj 1").Range("d2").Copy
    Windows("macro.xlsx").Activate
    Range("b2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'proj 1 não lembro
    Windows("dadosnewpit.xlsx").Activate
    Sheets("proj 1").Range("f2").Copy
    Windows("macro.xlsx").Activate
    Range("c2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
        'proj 1 barreira
    Windows("dadosnewpit.xlsx").Activate
    Sheets("proj 1").Range("a5").Copy
    Windows("macro.xlsx").Activate
    Range("d2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

 'proj 1 hipoteses
    Windows("dadosnewpit.xlsx").Activate
    Sheets("proj 1").Range("a8").Copy
    Windows("macro.xlsx").Activate
    Range("e2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
   'proj 1 data
    Windows("dadosnewpit.xlsx").Activate
    Sheets("proj 1").Range("a11").Copy
    Windows("macro.xlsx").Activate
    Range("g2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
          
        'proj 1 não lembro2
    Windows("dadosnewpit.xlsx").Activate
    Sheets("proj 1").Range("a15").Copy
    Windows("macro.xlsx").Activate
    Range("h2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
Postado : 05/05/2017 7:12 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

inimacro,

Bom dia!

Os códigos VBA devem ser inseridos aqui no fórum através da TAG Code existente na caixa de mensagens. Editei a mensagem para você, todavia, solicito que nas próximas postagens, faça dessa maneira, por gentileza.

Quanto à sua demanda, para melhor atender, você deve anexar, aquyi mesmo no fórum e compactado com . ZIP, seu arquivo.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/05/2017 7:18 am
(@inimacro)
Posts: 17
Active Member
Topic starter
 

Olá Wagner, nao sabia das regras. Peço desculpas.

Segue um exemplo de planilha que estou com dificuldades. Tenho que copiar os dados da planilha "exemplomacro" de diversas células para a "planilhatestemacro.csv" em uma linha e ordem específica. Consigo fazer apenas para a Aba "tentativa 1". Como posso fazer para as demais abas de forma automática?

 
Postado : 05/05/2017 10:48 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

inimacro,

Não entendi... nenhum dos seus arquivos enviados possui macro nenhuma...

Você pode até enviar arquivo com dados fictícios, todavia, o arquivo deve conter o layout exatamente igual ao seu arquivo original e, obviamente, com todas as macros e suas funcionalidades.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/05/2017 11:10 am
(@inimacro)
Posts: 17
Active Member
Topic starter
 

wagner

O código está no txt. eu geralmente clico em exibição> macros> coloco um nome>editar> e copio o txt.
O layout está exatamente igual ao utilizado, apenas com menos abas

 
Postado : 05/05/2017 11:20 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

inimacro,

Aqui no fórum você não deve repetir as conversas anteriores utilizando a ferramenta CITAR. Use-a somente para citar trechos de frases não entendidas.

Quanto a sua demanda, me refiro ao envio do seu arquivo com as macros inseridas nele mesmo com todas as funcionalidades normais. Ou seja: Seu arquivo .XLSM.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/05/2017 11:33 am
(@inimacro)
Posts: 17
Active Member
Topic starter
 

segue arquivo xlsm.

Copiar da planilha "exemplomacro" para a "planilhatestemacro"

 
Postado : 05/05/2017 11:50 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

inimacro,

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/05/2017 1:50 pm
(@inimacro)
Posts: 17
Active Member
Topic starter
 

Exatamente Wagner! Muito obrigado!

Uma dúvida, caso tenha que aplicar essa macro para diversas planilha de nome diferentes. Sempre terei que entrar no código para alterar o nome da planilha de "copy"? ou há algum outro jeito?

Se não for pedir demais, pq já abusei da sua boa vontade, poderia explicar o código que você fez?

 
Postado : 05/05/2017 3:02 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

inimacro,

Boa Noite!

Não exatamente! É possível criar um código que logo que a planilha de macro seja carregada, cheque o nome de todos os arquivos abertos e armazene-os em variáveis. Depois disso é só utilizar o nome da variável que contém o nome dos arquivos.

Quanto a explicação do código, veja no arquivo anexo, os comentários.

Ah... e vote positivamente clicando na mãozinha ao lado da ferramenta CITAR. Após isso, feche novamente o tópico colocando o mesmo como RESOLVIDO.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 05/05/2017 4:55 pm
(@inimacro)
Posts: 17
Active Member
Topic starter
 

Boa noite Wagner,

como seria esse código? conseguiria me passar tbm?

Nos anexos nao vieram nenhum comentário.

 
Postado : 05/05/2017 6:06 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

inimacro,

Bom dia!

Acho que acabei salvado e compactando o arquivo errado. Segue novamente com os comentários.

Quanto ao código que pega o nome de todos os arquivos Excel abertos, está no outro arquivo aqui anexo.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/05/2017 11:04 am
(@inimacro)
Posts: 17
Active Member
Topic starter
 

Obrigado Vagner.

Ajudou muito, porém quando rodo a macro na planilha que preciso no final está ocorrendo o "erro 1004- o método select da classe worsheet falhou". Não sei o motivo.

Mas mesmo assim, ajudou muito!! vlw

 
Postado : 09/05/2017 9:06 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Ok. Obrigado.

Por favor, vote positivamente!

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/05/2017 9:12 am