Notifications
Clear all

Como copiar intervalo via VBA de várias planilhas?

3 Posts
2 Usuários
0 Reactions
746 Visualizações
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Olá boa tarde,

Gostaria de copiar o intervalo específico "A2:DV50" de abas numeradas de 1 a 11 e inserir esse conteúdo em uma única aba chamada "consol".

Explicando: Em uma pasta existem 12 abas. Uma chamada "concol" e outras nomeadas de 1 até 11. Preciso copiar o conteúdo do intervalo "A2:DV50" de cada aba e inserir "todos" na aba chamada "concol", salientando que ao final a aba "concol" terá exatas 550 linhas.

Agradeço muito !

 
Postado : 03/07/2015 1:07 pm
Issamu
(@issamu)
Posts: 605
Honorable Member
 

Teste ai:

Sub Consol()
Dim x As Integer

Sheets("consol").Range("A2:DV551").Clear

For x = 1 To 11
Sheets(x).Range("A2:DV50").Copy
Sheets("Consol").Select
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Next x

Range("A2").Select

End Sub

Ou então, você tem um trabalhinho de desenvolvimento para vincular cada célula das 11 planilhas na planilha "Consol", por exemplo, na célula Consol!A2 vai a fórmula ='1'!A2 e você arrasta para as linhas e colunas necessárias e vai repetindo o procedimento para cada planilha. Daí você nem precisa de macro, pois vai ter sempre o valor real na planilha Consol. É o que eu faria.

Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/

 
Postado : 03/07/2015 1:45 pm
(@luizhcosta)
Posts: 420
Honorable Member
Topic starter
 

Obrigado Issamu pela dica e pela solução do meu problema.

A solução funcionou, porém pelo cálculo que fiz a quantidade de linhas preenchidas deveria ser 50 x 11 = 550. Aconteceu porém que o total copiado foi de 491.
Mas aí segui a sua dica de vincular as células, nesse momento resolveu a minha necessidade.

Mas obrigado !

 
Postado : 09/07/2015 7:04 am