Ola @andrefebronio, seja bem vindo ao Grupo.
Considerando linha 2:
Se digitar o Nome da aba na coluna A, a fórmula na coluna B pode ser assim:
=INDIRETO(A2&".B7")
Também é possível, Primeiro listar o name da ABA no RESUMO e depois criar a aba com este nome, veja este: Como faço para nomear uma planilha com os dados de uma célula?
Complemento
A Macro não ficou bonita, mas esta funcionando:
A primeira é do Livro “Macros para o OpenOffice.org - Calc” as demais fiz com o gravador e cortei as gorduras.
'================================================|
Sub ListarPlanilhas
'================================================|
Call IrPara "RESUMO.A1"
Call LimparResumo
Dim oPlan
Dim nome As String
Dim cont As Integer
oPlan = ThisComponent.Sheets
For cont = 0 To oPlan.getCount() - 1
nome = nome & oPlan(cont).Name & Chr(10)
Var1 = oPlan(cont).Name
Call Digitar Var1
Next
Call PreencherRESUMO
End Sub
'================================================|
sub Digitar (xmensagem as string)
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "StringName"
args1(0).Value = xmensagem
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, Array())
end sub
'================================================|
sub IrPara (xlocal as string)
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 PreencherRESUMO
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoUpToStartOfData", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, Array())
Call Digitar "=INDIRETO(A2&"".""&""B7"")"
dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoUpToStartOfDataSel", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:GoDownSel", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
Call IrPara "$A$1"
end sub
'================================================|
sub LimparRESUMO
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 = "By"
args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfDataSel", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
Call IrPara "A1"
end sub
Quando acrescenta ou deleta planilhas e volta para a RESUMO já esta atualizada…