@Orlando
Segue o código corrigido e com explicações (rem) sobre as linhas de comando:
Option Explicit
Sub ResaltarSeleccion()
Dim oDoc As Object
Dim oControlador As Object
Dim oSel As Object
Dim oRango As Object
Dim oRango1 As Object
Dim oRango2 As Object
Dim oColunaInicio, oColunaFim, oLinhaInicio, oLinhaFim as Long
Dim Coluna, Linha as Long
Dim sPassword as String
oDoc = ThisComponent
oControlador = oDoc.CurrentController
oSel = oControlador.Selection
rem Aqui você irá informar o tamanho da sua tabela. Coluna A = 0, Linha 1 = 0
oColunaInicio = 0
oColunaFim = 9
oLinhaInicio = 5
oLinhaFim = 2399
rem Aqui coloque a senha da planilha
sPassword = ""
If oSel.ImplementationName = "ScCellObj" Then
oRango = oControlador.getVisibleRange
rem Aqui é colocado o número da coluna e da linha selecionada
Coluna = oSel.CellAddress.Column
Linha = oSel.CellAddress.Row
rem Rango1 ativa a formatação para Linha
oRango1 = oSel.SpreadSheet.getCellRangeByPosition( oSel.CellAddress.Column, oLinhaInicio, oSel.CellAddress.Column, oLinhaFim )
rem Rango2 ativa a formatação para Coluna
oRango2 = oSel.SpreadSheet.getCellRangeByPosition( oColunaInicio, oSel.CellAddress.Row, oColunaFim, oSel.CellAddress.Row )
oRango = oSel.SpreadSheet.createCursor()
rem desativa a planilha com a senha
oControlador.getActiveSheet.unprotect(sPassword)
rem Reseta a Formatação
oRango.CellStyle = "Default"
rem Aplica a formatação desde que a célula selecionada esteja dentro do tamanho da tabela indicada
if Coluna >= oColunaInicio and Coluna <= oColunaFim and Linha >= oLinhaInicio and Linha <= oLinhaFim Then
oRango1.CellStyle = "Resaltado"
oRango2.CellStyle = "Resaltado"
End If
rem ativa a planilha com a senha
oControlador.getActiveSheet.protect(sPassword)
End If
End Sub
Para manter a sua formatação, antes de mais nada, precisa criar as formatações no Calc.
Para criar as formatações, faça o seguinte:
1- F11 (Gerenciar Estilos)
2 - Em estilos de Célula, clique com o botão direito na área branca
3 - Clique em Novo ou Modificar o Estilo selecionado
4 - Dê um nome ao estilho (será utilizado na macro), e formate ao seu gosto