Alterar valores de diversas células usando o Basic.

Como faço para alterar os valores de determinado intervalo de células ao mesmo tempo utilizando uma macro do LibreOffice Basic? Preciso alterar as células D2 a D1000 de dada planilha. Obrigado, antecipadamente!

@rebr, de mais detalhes.

São varias planilhas que vão ser alteradas com valores iguais ?

Os valores estão aonde ?

Tem um exemplo de arquivo, como você é novo no fórum, ainda não tem acesso para postar arquivo, coloque em nuvem e poste o link.


ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Preciso colocar o valor “=Resultado” em cada uma das células na planilha. O “nome” “=Resultado” fará o cálculo para cada linha. Só preciso me certificar de que a coluna estará preenchida com o referido nome [Menu Inserir > Intervalo nomeado ou expressão].

Então as células D2 a D1000 serão preenchidas com o mesmo valor “=Resultado”.

@rebr, de uma olhada nesta resposta…


ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

Coloquei

sub ConsertaData
  GlobalScope.BasicLibraries.LoadLibrary("Tools")
  dim Variavel As String
  Variavel = "=Resultado"
  oSheet=ThisComponent.Sheets(0) ' 0 é a primeira planilha
  ChangeValueofRange (oSheet, "D10:D11", Variavel)
end sub

Mas acho que deve estar havendo algum problema com a linha “dim…” já tentei String, Long etc. a macro escreve o conteúdo da variável, mas não faz uma “releitura” da fórmula/expressão do nome “Resultado”; ficam “=Resultado”, sem fazer a resolução do nome.

Realmente falha !

Faz o seguinte coloque em uma célula a formula (=Resultado), nomeei esta célula como resultadoo, e faça a macro copiar desta célula e colar na área.

sub Result
dim document, 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 = "resultadoo"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$Plan1.$A$1:$A$10"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end Sub

Não é uma solução muito elegante, mas agradeço muito o esmero em me ajudar. Assim que eu pegar o ritmo do LibO Basic, coloco aqui a solução. Estou tentando me empenhar no aprendizado. Se mais alguém quiser opinar uma solução, a comunidade agradece.