Pergunte aqui

Histórico de revisões [voltar]

Como executar uma macro no Calc ao selecionar uma célula de uma área?

Tenho esta macro ligada em Eventos de planilha: quando é alterada a célula E5 é acionada outra macro. (https://ask.libreoffice.org/pt-br/question/76169/como-executar-uma-macro-no-calc-ao-selecionar-em-uma-celula/#76340)

Sub SelecaoAlteradaC( oCelula )
    ' Testar se o objeto selecionado é uma célula individual
    If oCelula.ImplementationName <> "ScCellObj" Then Exit Sub
    If Right(oCelula.AbsoluteName,4) = "$E$5" Then
        'Chamar a macro desejada
        Call Macro1 
    End If  
End Sub

Porém necessito de outra que seja uma área, se alterar entre B7 a B27 fosse executada outra macro.

Fiz a alteração abaixo mas ..... não deu certo

Sub SelecaoAlteradaR( oRange )
    ' Testar se o objeto selecionado é uma célula individual
    If oRange.ImplementationName <> "ScCellObj" Then Exit Sub
    If Right(oRange.RangeByName,4) = "$B$7:$B$27" Then
        'Chamar a macro desejada
        Call Macro1 
    End If  
End Sub

O que esta errado ?

Como executar uma macro no Calc ao selecionar uma célula de uma área?

Tenho esta macro ligada em Eventos de planilha: quando é alterada a célula E5 é acionada outra macro. (https://ask.libreoffice.org/pt-br/question/76169/como-executar-uma-macro-no-calc-ao-selecionar-em-uma-celula/#76340)

Sub SelecaoAlteradaC( oCelula )
    ' Testar se o objeto selecionado é uma célula individual
    If oCelula.ImplementationName <> "ScCellObj" Then Exit Sub
    If Right(oCelula.AbsoluteName,4) = "$E$5" Then
        'Chamar a macro desejada
        Call Macro1 
    End If  
End Sub

Porém necessito de outra que seja uma área, se alterar entre B7 a B27 fosse executada outra macro.

Fiz a alteração abaixo mas ..... não deu certo

Sub SelecaoAlteradaR( oRange )
    ' Testar se o objeto selecionado é uma célula individual
    If oRange.ImplementationName <> "ScCellObj" Then Exit Sub
    If Right(oRange.RangeByName,4) = "$B$7:$B$27" Then
        'Chamar a macro desejada
        Call Macro1 
    End If  
End Sub

O que esta errado ?