Boa tarde,
Pessoal estou tentando criar uma macro mais na realidade não consegui.
Peguei algumas ideias em pesquisa pela net.
Vou mandar o que coloquei do pessoal.
Mais não está funcionando como eu quero:
Que é colocar linha apois linha.
Sub CopiarDadosEntrePlanilhas ’ É ESTE QUE ESTÁ FUNCIONANDO
' Define as variáveis
Dim oDoc As Object
Dim oOrigemPlanilha As Object
Dim oDestinoPlanilha As Object
Dim oOrigemIntervalo As Object
Dim oDestinoCelula As Object
Dim UltimaLinha As Long
Dim oSheet As Object
Dim oCellRange As Object
Dim oCursor As Object
' Acessa o documento atual (o arquivo do Calc)
oDoc = ThisComponent
' Obtém a planilha ativa (ajuste o nome se necessário)
oSheet = ThisComponent.CurrentController.ActiveSheet    
' Acessa a planilha de origem e de destino pelo nome
oOrigemPlanilha = oDoc.getSheets().getByName("Planilha1")
oDestinoPlanilha = oDoc.getSheets().getByName("Planilha2")
' Cria um cursor para encontrar a última linha utilizada
oCursor = oSheet.createCursor()
oCursor.gotoEndOfUsedArea(False)
' Obtém o número da última linha preenchida na planilha
UltimaLinha = oCursor.getRangeAddress().EndRow
' Define o intervalo de dados a ser copiado.
' Neste exemplo, ele copia da linha 0 (A1) até a última linha preenchida.
' Se a sua tabela tiver cabeçalho, ajuste para a linha 1 (A2)
OrigemDados = oSheet.getCellRangeByPosition(0, 0, oCursor.getRangeAddress().EndColumn, UltimaLinha)        
' Define o intervalo de células a ser copiado na planilha de origem
oOrigemIntervalo = oOrigemPlanilha.getCellRangeByName("A2:F40")
' Define a célula de destino na planilha de destino - Para minha planilha Destino que é = Planilha2
' O método copyRange cola os dados a partir da célula superior esquerda do intervalo de destino
oDestinoCelula = oDestinoPlanilha.getCellByPosition(1, 1) ' Coluna E (índice 4), Linha 1 (índice 0)
'oDestinoPlanilha = oSheet.getCellByPosition(0, UltimaLinha + 1)
' Executa a cópia  - Para minha planilha Destino que é = Planilha2
oDestinoPlanilha.copyRange(oDestinoCelula.getCellAddress(), oOrigemIntervalo.getRangeAddress()) ' Planilha2
' Contagem da Linha em Branco para fazer a Copia dos Dados Intervalos - Para planilha Destino que é = Planilha2 
oDestinoPlanilha = oSheet.getCellByPosition(0, UltimaLinha + 1) ' Planilha2
' Realiza a cópia do intervalo - Para minha planilha Destino que é = Planilha2
oSheet.copyRange(oDestinoPlanilha.CellAddress, oOrigemPlanilha.RangeAddress) ' Planilha2
' Exibe uma mensagem de conclusão
MsgBox "Dados copiados para a linha " & UltimaLinha + 2 & ".", 64, "Macro Concluída"    
End Sub
Por favor se algume puder me ajudar eu agradeço por demais.
Desta forma ele copia em cima dos dados que já existe na Planilha2 e não abaixo na linha em branco e assim por diante.
Sim tema mais uma coisa quando a macro for executada eu quero que ela limpe os dados da Planilha1 que vai ser copiada para a Planilha2
Atenciosamente,
Nelinho
