Mudar cor de linha no Calc através de macro ao invés de formatação condicional

Existe a possibilidade de usar macro para mudar a cor de uma linha inteira ao invés de usar formatação condicional?

Estou reestruturando uma série de planilhas que possuem varias formatações condicionais dependendo de vários menus suspensos. Porém essas formatações, multiplicam-se conforme eu preciso copiar algum dado de uma planilha para outra.

Será que macro resolve meu problema?

Obrigada

Para não multiplicar as formatações, ao colar use Colar Especial ? Texto não formatado. Então copia de uma célula formatada como queira e Cole Especial nesta célula sem formatação, Somente Formato.

Sobre a Macro de formatação, acho complicado, pois se é Formatação Condicional, como definir as Condições !!!

Obrigada por responder, Schiavinato

Mas mesmo eu usando Colar Especial, eu tenho que ficar entrando em Formatação Condicional para apagar os formatos que se multiplicam no decorrer do tempo. O pior é que, de vez em quando, aparece do nada uma ou outra que perde a formatação e eu tenho que ficar arrumando.
Assiti um video no youtube que alguém fez o que pretendo no excel com o codigo

Sub color_row()
dim count, i As Long
count=ActiveSheet.Cells(Rows.count, “A”).End(xlUP).Row
MsgBox count
i=6

Do while i <=count

if Cells(i,5).Value>=100 then
Range(cells(i, 1), cells(i,20).interior.Color=RGB(67,195,233)
End if
i=i+1
Loop

End Sub

Mas eu não consigo fazer funcionar no Calc.

Link do video

@cahfellini , Adequei às macros do LibreOffice e adicionei o evento diretamente na planilha.
colorir-celulas.ods (22.3 KB)

Segue código para colorir:
Option Explicit
Dim oPlan As Object
Dim nLinha As Long
Dim fServico
Dim i As Double
Dim xVal As String

Sub ColorirCelulas
oPlan = ThisComponent.Sheets(0)

fServico = CreateUnoService(“com.sun.star.sheet.FunctionAccess”)
nLinha = fServico.CallFunction(“COUNTA” , array(oPlan.getCellRangeByName(“A:A”)))

i = 2

Do While i <= nLinha
xVal = oPlan.getCellbyPosition( 4 , i-1 ).getString

  Select Case xVal 
  	Case "RJ"
  		oPlan.getCellRangeByName("A" & i & ":" & "E" & i ).CellBackColor = RGB( 239 , 142 , 160 )
  	Case "SP"
  		oPlan.getCellRangeByName("A" & i & ":" & "E" & i ).CellBackColor = RGB( 98 , 186 , 149 )
  	Case "MG"
  		oPlan.getCellRangeByName("A" & i & ":" & "E" & i ).CellBackColor = RGB( 0 , 140 , 200 )
  	Case Else 
  End Select 				

i = i + 1
Loop
End Sub

Segue Código para limpar as cores

Sub LimparPlanilha
oPlan = ThisComponent.Sheets(0)
fServico = CreateUnoService(“com.sun.star.sheet.FunctionAccess”)
nLinha = fServico.CallFunction(“COUNTA” , array(oPlan.getCellRangeByName(“A:A”)))

i = 2

Do While i <= nLinha
oPlan.getCellRangeByName(“A” & i & “:” & “E” & i ).CellBackColor = RGB( 255 , 255 , 255 )
i = i + 1
Loop
End Sub

Muito Obrigada
Ficou muito bom. Como eu faço para, além de mudar a cor da celula, mudar a cor da borda também?

Acho que fica melhor você formatar o estilo e depois chamá-lo pela macro.
Segue planilha com alterações e tratamento de alguns erros:
colorir-celulas-estilos.ods (22.4 KB)

Substitua:

.CellBackColor = RGB( 239 , 142 , 160 )

Por:

.CellStyle = “Nome do estilo”

A macro funciona, precisa de correção, veja abaixo:

REM  *****  BASIC  *****
' ================================================
' NECESSITA DO BASIC PARA RODAR VBA  
' Attribute VBA_ModuleType=VBADocumentModule	
Option VBASupport 1	
Option Explicit	
' ================================================

Sub color_row()
dim count, i As Long
count = ActiveSheet.Cells(Rows.count, "A").End(xlUP).Row
MsgBox count
i = 1 '6
Do while i <= count
if Cells(i,5).Value >= 100 then
Range(cells(i, 1), cells(i,20)).interior.Color=RGB(67,195,233)
End if
i=i+1
Loop
End Sub

Na Macro faltava um parênteses de fechamento após (i,20)

Complemento

Segue arquivo que atende as duas perguntas, acionamento das Macro no [[ Menu ]]

TEST_GS2.ods (21.8 KB)

Correção macro color_row altere de 20 para 5, para colorir somente colunas com dados.

2021-12-15 10-22-33

Nesse exemplo, a celula que vai condicionar a cor é um numero. como faço para mudar de cor de acordo com o estado ou a cidade na tabela a seguir?
TEST.ods (14.4 KB)

Por exemplo, se na ultima coluna eu escolher no menu suspenso RJ, a linha toda fique amarela. Se escolher PR, fique verde e assim por diante.
Eu não entendo nada de macro, mas aprendo rapido.

Vide Complemento na Resposta acima.