Estou com um problema (e não é a primeira vez), talvez alguém com mais conhecimento poderia me auxiliar neste caso? Pois conheço o básico do VBA.
Criei um código que ele faz o cálculo pela cor da célula do Excel
'
'MÁXIMO DE PERDA SOMENTE NA AGUA QUENTE - ABA AF-PRUM. (RENAN 20/05/2022)
'
Public Function MAXAGUAQUENTE(Referência As Range, Matriz As Range, Fonte As Boolean)
Application.Volatile
Dim rCell As Range
Dim rCor As Long
Dim rResult As Variant
If Fonte = False Then
rCor = Referência.Interior.ColorIndex
For Each rCell In Matriz
If rCell.Interior.ColorIndex = rCor Then
rResult = WorksheetFunction.Max(rCell, rResult)
End If
Next rCell
Else
rCor = Referência.Font.ColorIndex
For Each rCell In Matriz
If rCell.Font.ColorIndex = rCor Then
rResult = WorksheetFunction.Max(rCell, rResult)
End If
Next rCell
End If
MAXAGUAQUENTE = rResult
End Function
Está ok, porém ele só calcula na minha célula, quando eu forço ela recalcular (tenho que entrar na célula e dar Enter ou clilcar o F9)
Sabem me informar como corrigir isso?
Seria algo no código que deve estar previsto? Pois conforme insiro dados na linha ela deveria recalcular automáticamente.
Pergunta
renanem
Bom dia a todos do fórum!
Estou com um problema (e não é a primeira vez), talvez alguém com mais conhecimento poderia me auxiliar neste caso? Pois conheço o básico do VBA.
Criei um código que ele faz o cálculo pela cor da célula do Excel
' 'MÁXIMO DE PERDA SOMENTE NA AGUA QUENTE - ABA AF-PRUM. (RENAN 20/05/2022) ' Public Function MAXAGUAQUENTE(Referência As Range, Matriz As Range, Fonte As Boolean) Application.Volatile Dim rCell As Range Dim rCor As Long Dim rResult As Variant If Fonte = False Then rCor = Referência.Interior.ColorIndex For Each rCell In Matriz If rCell.Interior.ColorIndex = rCor Then rResult = WorksheetFunction.Max(rCell, rResult) End If Next rCell Else rCor = Referência.Font.ColorIndex For Each rCell In Matriz If rCell.Font.ColorIndex = rCor Then rResult = WorksheetFunction.Max(rCell, rResult) End If Next rCell End If MAXAGUAQUENTE = rResult End Function
Está ok, porém ele só calcula na minha célula, quando eu forço ela recalcular (tenho que entrar na célula e dar Enter ou clilcar o F9)
Sabem me informar como corrigir isso?
Seria algo no código que deve estar previsto? Pois conforme insiro dados na linha ela deveria recalcular automáticamente.
Desde já, obrigado.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.