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 na pergunta ou 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 na pergunta ou abaixo. Grato.
Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha 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.