Desejo fazer isso mantendo as refêrencias relativas. Por exemplo, se na célula C2 a fórmula é A2+B2, na célula C3 tem que ser A3+B3.
Ola @crisdoxavier, segue um exemplo:
' Vai até célula copia vai até a célula cola
Sub CopiarColar
Call IrPara "Planilha1.C2"
Call Copiar
Call IrPara "Planilha1.C3"
Call Colar
End Sub
' Copia da célula que esta e vai até a célula cola
Sub CopiarColar2
Call Copiar
Call IrPara "Planilha1.C3"
Call Colar
End Sub
'---------------Abaixo SubMacros -------------------------------------
'================================================|
sub IrPara (xlocal as string)
'exemplo uso: IrPara "Planilha.A1" ou "Planila1.A1:B3" ou "NomeArea"
'================================================|
Dim document As Object
Dim dispatcher As Object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = xlocal
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
end sub
'================================================|
sub Copiar
'================================================|
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
end sub
'================================================\
Sub Colar
' equivalente ao Ctrl+V
'================================================/
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end Sub