Alguém saberia informar um comando para:
- alterar a planilha ativa num documento com 2 ou mais planilhas;
- posicionar o cursor (foco) em determinada célula da planilha;
Alguém saberia informar um comando para:
Ola @rossi, Seja Bem Vindo…
Esta Macro abaixo eu uso como SubMacro.
'=========================================================================
sub IrPara (xlocal as string)
'=========================================================================
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
Para usa-la em uma Macro Principal, por exemplo:
Sub MacroPrincipal
.
.
Call IrPara "local"
.
.
End Sub
Onde “local” pode ser:
Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha a esquerda da resposta, para finalizar a pergunta.
Bom dia!
Num primeiro momento não funcionou. Posicionava sempre na célula posterior a que eu passava como parâmetro.
Depois percebi o que estava ocorrendo.
A planilha dispara a macro no evento de planilha “Conteúdo Alterado”, que ocorre somente após a saída da célula (TAB)e, dependendo da validação realizada pela macro, executo o “IrPara” para uma determinada célula.
Porém, o método “IrPara” é executado antes que a próxima célula receba o foco realizado pelo TAB. Assim, o método “IrPara” ocorre, porém em seguida ocorre o foco para a próxima célula disparado pela saída da célula anterior pelo TAB.
Para funcionar, fiz o “IrPara” então para a célula anterior a que eu espero que receba o foco.
De qualquer forma, foi muito útil. Agradeço.