none
VBA Change com referência à célula derivada de outra célula RRS feed

  • Pergunta

  • Caros experts,

    tenho a seguinte demanda:

    Na célula E21 tenho a fórmula: E8+E9. Esta fórmula fica oculta na minha planilha.

    Preciso que ao ser alterado o valor da célula E21 seja atribuído o valor 10 na célula E22.

    Tentei o seguinte código:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Intersect(Target, Range("E21")) Is Nothing Then _
          Range("E22").Value = 10
          'Premissas_Refresh_Click
    End Sub

    Mas reparei que se eu digitar um novo valor diretamente na célula E21 a macro funciona porém,

    se o valor da célula E21 alterar em função do cálculo realizado nas células E8+E9 a macro não funciona.

    Alguém sabe se existe algum comando que eu possa utilizar para conseguir o que preciso?

    Obrigada!

    MPC

    segunda-feira, 30 de março de 2015 03:03

Respostas

  • Veja se o código seguinte lhe atende:

    Private Sub Worksheet_Activate()
        Ref
    End Sub
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Ref
    End Sub
    
    Sub Ref()
        Static l As Long
        Static i As Integer
        If i <> 0 Then
            If Range("E21").Value <> l Then
                Range("E22").Value = 10
            End If
        End If
        l = Range("E21").Value
        i = 1
    End Sub


    Rafael Kamimura

    segunda-feira, 30 de março de 2015 13:51