0113-Consolidar planilhas de um arquivo

Uma demanda bastante comum decorre da necessidade de consolidar várias planilhas de um mesmo arquivo numa só planilha.

Neste exemplo, todas as planilhas são consolidadas numa planilha denominada Consolida.

As linhas de código estão comentadas para facilitar a compreensão.

Sub ConsolidarSheets()
'Declaração de variáveis
Dim wsDestino   As Worksheet
Dim ws          As Worksheet
Dim NextRow     As Integer
Dim LastRow     As Integer
Dim opFlow      As Integer
Dim msg         As String

'Definir a variável wsDestino
Set wsDestino = Worksheets("Consolida")

'Mensagem que aparecerá na MsgBox
msg = "Selecione Sim se for a primeira consolidação ou se deseja eliminar os dados da planilha Consolida"

'Exibição de mensagem de escolha para o usuário
opFlow = MsgBox(msg, vbYesNo, "Consolidar planilhas")

If opFlow = vbYes Then
'Se a opção for Sim, os dados de wsDestino são apagados
wsDestino.UsedRange.ClearContents
'em seguida são inseridos os dados de cabeçalho
For i = 1 To 10
wsDestino.Cells(1, i) = "Série" & i
Next i
End If

'Loop para as planilhas da pasta de trabalho
For Each ws In ThisWorkbook.Worksheets
'Testar se a planilha é diferente de wsDestino
If ws.Name  wsDestino.Name Then
'Determinar a primeira linha vazia da coluna A de wsDestino
NextRow = wsDestino.Cells(Rows.Count, 1).End(xlUp).Row + 1
'Determinar a última linha da coluna A de ws que contém dados
LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
'Copiar como valores os dados de ws para wsDestino
Range(ws.Cells(2, 1), ws.Cells(LastRow, 10)).Copy: wsDestino.Cells(NextRow, 1).PasteSpecial xlValues
End If
Next ws

'Selecionar wsDestino
wsDestino.Select
'Selecionar a célula A1
wsDestino.Range("A1").Select
'Limpar a área de transferência
Application.CutCopyMode = False
End Sub

Temos aqui o arquivo de exemplo:Consolidar Planilhas

Anúncios

In Excel We Trust

Marcado com: , , , , ,
Publicado em Nível: Avançado

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: