@MarceloCaldas, uma sugestão
Por exemplo a formula esta na PlanilhaXX na célula V4 e a colagem é na PlanilhaRR na area C2:V2
A chamada seria assim
Sub CopyFormula
Call CopiarFormula "PlanilhaXX.V4", "PlanilhaRR.C2:V2"
End Sub
Pode ser também com áreas nomeadas:
- PlanilhaXX.V4 = FONTE
- PlanilhaRR.C2:V2 = RECEPTOR
Então a chamada seria assim
Sub CopyFormula
Call CopiarFormula "FONTE", "RECEPTOR"
End Sub
Complemento
A formula esta na célula A1 de Origens, e a macro (esta em Standard / Module1 / Main) é acionada no menu [ Automação ].
A macro foi feita com o gravador e retirado algumas gorduras.
A coluna F do calculo na planilha RECEBIDOS não é necessário.
sub Main
'Esta macro é acionada pelo menu [ Automação ] Carregar Origens
rem ----------------------------------------------------------------------
dim doc, disp as object
doc = ThisComponent.CurrentController.Frame
disp = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim limpar(0) as new com.sun.star.beans.PropertyValue
limpar(0).Name = "ToPoint"
limpar(0).Value = "FORMULAA"
disp.executeDispatch(doc, ".uno:GoToCell", "", 0, limpar())
disp.executeDispatch(doc, ".uno:GoDown", "", 0, Array())
disp.executeDispatch(doc, ".uno:GoDownToEndOfDataSel", "", 0, Array())
disp.executeDispatch(doc, ".uno:ClearContents", "", 0, Array())
'-------------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint" : args1(0).Value = "FORMULAA"
disp.executeDispatch(doc, ".uno:GoToCell", "", 0, args1())
disp.executeDispatch(doc, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint" : args4(0).Value = "$Origens.$A$2:$A$200" 'altere aqui a linha Máxima 200.
disp.executeDispatch(doc, ".uno:GoToCell", "", 0, args4())
rem ----------------------------------------------------------------------
dim args5(5) as new com.sun.star.beans.PropertyValue
args5(0).Name = "Flags" : args5(0).Value = "F"
args5(1).Name = "FormulaCommand" : args5(1).Value = 0
args5(2).Name = "SkipEmptyCells" : args5(2).Value = false
args5(3).Name = "Transpose" : args5(3).Value = false
args5(4).Name = "AsLink" : args5(4).Value = false
args5(5).Name = "MoveMode" : args5(5).Value = 4
disp.executeDispatch(doc, ".uno:InsertContents", "", 0, args5())
disp.executeDispatch(doc, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args7(5) as new com.sun.star.beans.PropertyValue
args7(0).Name = "Flags" : args7(0).Value = "S"
args7(1).Name = "FormulaCommand" : args7(1).Value = 0
args7(2).Name = "SkipEmptyCells" : args7(2).Value = false
args7(3).Name = "Transpose" : args7(3).Value = false
args7(4).Name = "AsLink" : args7(4).Value = false
args7(5).Name = "MoveMode" : args7(5).Value = 4
disp.executeDispatch(doc, ".uno:InsertContents", "", 0, args7())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "ToPoint" : args8(0).Value = "$A$2"
disp.executeDispatch(doc, ".uno:GoToCell", "", 0, args8())
end sub
ATENÇÂO:: Para dar mais detalhes a sua pergunta, use na pergunta ou abaixo. Grato.
Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha a esquerda da resposta, para finalizar a pergunta.