Páginas

sábado, 18 de dezembro de 2010

Inserindo dados de uma planilha em outra

Algo comum no uso do Excel como base de dados, é a necessidade de copiar alguns dados de uma determinada planilha, para a próxima linha disponível em outra.

Para resolver esta situação criei uma UDF que retorna a próxima linha disponível em uma determinada planilha.

'Desenvolvida por Bruno Leite
'bruno_silva_leite@yahoo.com.br

Function RetornaLin(Sht As String, Col As String)
Dim UltLinPlan As Long

'Retorna a última linha da Planilha
UltLinPlan = Sheets(Sht).Range("A65536").End(xlDown).Row

'Retorna a linha na planilha
RetornaLin = Sheets(Sht).Range(Col & UltLinPlan).End(xlUp).Offset(1, 0).Row

End Function


Sub CopiaLinhas()
'Uliliza a função criada para buscar a linha para inserção
Dim Lin As Long

'Busca primeira linha disponível da plan2 na coluna A
Lin = RetornaLin("plan2", "A")

'copia o intervalo A5:Z5 para a linha retornada pela função
Plan1.Range("A5:Z5").Copy Plan2.Range("A" & Lin)

End Sub


No exemplo acima também mostro como usar esta UDF para descobrir em qual linha a informação será inserida.

Notem quem na function RetornaLin, usei a seguinte linha

UltLinPlan = Sheets(Sht).Range("A65536").End(xlDown).Row


Com esta linha busco qual a última linha disponível na planilha, o número 65536 refere a última linha em planilhas até a versão 2003, por este motivo a uso como referência, caso seja uma versão mais nova será retornado 1048576 , buscando a última linha disponível acima disto.

Bom é isto ai por hoje, uma função simples que pode ajudar bastante na cópia de dados.

1 comentários:

Vinicius disse...

Gostaria de uma ajuda se possível!

No meu caso, possuo um arquivo .xls com 500 planilhas (1;1.1;1.2-...-1.500), cada planilha possui uma coluna que vai de A1 até A518.

Tenho que montar uma matriz com essas colunas, por isso, gostaria de aplicar um script que viabilizasse postar as colunas de cada planilha uma do lado da outra em uma única planilha.

Muito Obrigado!

Postar um comentário

Related Posts Plugin for WordPress, Blogger...