マクロでのセル領域が2個での条件付き書式でSource Position を正しく設定するには?

LibreOffice6.2.3.2マクロ(basic) で複数セル範囲に1つの数式で条件付き書式を設定しました。
しかし、設定された条件付き書式は定義数式が壊れます。

定義数式($A3<=$A$2)を壊さないためにはどこを修正すれば良いでしょうか?。

  • 表の大きさは A1:Q250

    • 1行目=見出し
    • 2行目=データ管理行
    • 3行目以降=データ
  • A列

    • シリアル値ベースの日付 形式:yy/mm/dd 昇順に並んでる
    • A3~A184行・・・18/03/31~19/11/27が入力済
    • A185~A250行・・・空白
  • A2:=today()として本日日付を表示

  • B-C列・・・摘要でかな文字

  • D,H-I,Q列・・・数値

  • E-G列・・文字列

条件定義してる範囲とスタイル

  • A3:A250 , E3:G250 – セル領域が2つ
  • “文字G + 中央揃え”
    • 「文字G」-- フォント色でG=緑
    • 「揃え」-- セル内の横位置
    • 日本語表記なので「G,+,空白」はそれぞれ半角で入力

マクロを走らせると条件付き書式は正しく機能

が、定義数式($A3<=$A$2)→($A5<=$A$2)に
壊れます。

推定するに
oCondition(0).Name = "SourcePosition"に定義してる値
oCondition(0).Value = oRange.RangeAddresses(0)
が正しくないと思われます。

A3:A250 , E3:G250の2つの領域の1つ目のA3:A250の左上セルの位置(=A3)
を掴むメソッドまたはプロパティはあるのでしょうか?

簡略化したコード

Sub SetConditionalStyle_ABDEGHIQ()

  Dim oRange as object
  Dim oConFormat            'Conditional format object
  Dim oCondition(3) As New com.sun.star.beans.PropertyValue

  Dim sAddress

  oCondition(0).Name = "SourcePosition"
  oCondition(1).Name = "Operator"
  oCondition(2).Name = "Formula1"
  oCondition(3).Name = "StyleName"

  Dim a: a = array("A3:A250,E3:G250")
  Dim s: s = "文字G + 中央揃え"
  Dim n as long, i as long

  sAddress = Split( a(0), ",")
  oRange = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
  for i=0 to ubound(sAddress)
    oRange.addRangeAddress(ThisComponent.Sheets(0). _
    getCellRangeByName(sAddress(i)).RangeAddress,False)
  next

  oCondition(0).Value = oRange.RangeAddresses(0)
  oCondition(1).Value = com.sun.star.sheet.ConditionOperator.FORMULA
  oCondition(2).Value = "$A3<=$A$2"
  oCondition(3).Value = s

  oConFormat = oRange.ConditionalFormat
  oConFormat.addNew(oCondition())
  oRange.ConditionalFormat = oConFormat

End Sub

当方は Source Position 定義がよく理解できてなかったようです
例えば
セル領域が2つの場合 A3:A250,E3:G250 のとき その左上コーナーセル = A3
セル領域が3つの場合 D3:D250,H3:I250,Q3:Q250 のとき その左上コーナーセル = D3
この考え方でそれぞれの行で設定したとき

oCondition(0).Value =  
ThisComponent.Sheets(0).getCellByposition(0,2).getCellAddress()
ThisComponent.Sheets(0).getCellByposition(3,2).getCellAddress()  

で設定したら条件付き書式は正しく機能し、定義数式も壊れませんでした。

となると振り出しに戻り、本件のような2つ(複数)領域にて

左上コーナーセル位置を整然とした手法で求めるには
どういうメソッドまたはプロパティ(組み合わせを含む)がああるでしょうか?

という Q/A になります。