|
Busque neste site:
Loading
Concatenar Várias Planilhas
Última atualização: 22/09/2011
Introdução
Referências
Introdução
Suponha que você tenha uma Pasta de Trabalho com várias Planilhas. Abaixo elas
são mostradas.
Planilha Plan1:

Planilha Plan2:

Planilha Plan3:

Suponha que você queira criar uma nova Pasta de Trabalho para copiar todas as
Planilhas, uma sobre a outra. Você pode usar a rotina abaixo:
Sub ConcatenarPlanilhas()
Dim wb As Workbook
Dim ws As Worksheet
Dim wsTodos As Worksheet
'Cria uma nova Pasta de Trabalho, que conterá a Planilha
'com todas as Planilhas concatenadas.
Set wb = Workbooks.Add
Set wsTodos = wb.Sheets(1)
For Each ws In ThisWorkbook.Sheets
rngUsado(ws).Copy Destination:=wsTodos.Range("A" & _
rngUsado(wsTodos).Rows.Count + 1)
Next ws
'É necessário apagar a primeira linha da Planilha
'de Resumo porque ela começa a copiar as Planilhas
'na linha 2, e não na 1:
wsTodos.Rows(1).Delete
End Sub
'Função para determinar o UsedRange real de uma Planilha:
Function rngUsado(ws As Worksheet) As Range
With ws
Set rngUsado = .Range("A1:" & _
.UsedRange(.UsedRange.Cells.Count).Address)
End With
End Function
Observe que há uma função auxiliar rngUsado. Ela retorna qual é o Range
utilizado por Planilha sempre a partir do Range A1, já que apenas o UsedRange
não considera endereços de linhas ou colunas vazias antes dos dados de uma
Planilha. De forma mais simplificada, se você possui numa Planilha apenas uma
tabela no Range C10:E20, o UsedRange retorna
C10:E20 e a função rngUsado retorna o Range A1:E20.
O resultado final pode ser visto abaixo. Vale ressaltar que as bordas foram
feitas por mim apenas para fins ilustrativos, já que a rotina funcionaria da
mesma forma sem elas:

Caso a estrutura das Planilhas seja igual (ou seja, a coluna A
de Plan1 tem valores da mesma natureza da coluna B de
Plan2 e assim por diante), você pode usar essa rotina para criar uma
lista mestra de várias Planilhas de uma Pasta de Trabalho.
Atenção: este exemplo mostra como concatenar Planilhas de apenas uma
Pasta de Trabalho. Se quiser concatenar todas as Planilhas de todas as Pastas de
um determinado caminho, clique
aqui.
Referências
Para fazer o download de um exemplo
(Pasta de Trabalho), clique
aqui.
---
Site de Felipe Costa Gualberto.
Belo Horizonte, Brasil, 2009-2013.
benzadeus5@ambienteoffice.com.br
|