A seguinte função definida pelo usuário (UDF) irá lidar com qualquer número de células (não apenas três) :
Public Function MaxDiff(rIN As Range) As String
Dim r1 As Range, r2 As Range, WhichOnes As String
Dim v As Double, diff As Double
Dim difftemp As Double
diff = 0
For Each r1 In rIN
v = r1.Value
For Each r2 In rIN
difftemp = Abs(v - r2.Value)
If difftemp > diff Then
diff = difftemp
WhichOnes = r1.Address(0, 0) & "-" & r2.Address(0, 0)
End If
Next r2
Next r1
MaxDiff = CStr(diff) & " -> " & WhichOnes
End Function
Fornece o valor máximo da diferença absoluta de células no intervalo, bem como o endereço dessas células. Por exemplo:
FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:
- ALT-F11exibeajaneladoVBE
- ALT-IALT-Mabreumnovomódulo
- coleomaterialefecheajaneladoVBE
Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
PararemoveroUDF:
- abrirajaneladoVBEcomoacima
- limpeocódigo
- fecheajaneladoVBE
ParausaroUDFdoExcel:
=MaxDiff(A1:Z1)
Parasabermaissobremacrosemgeral,consulte:
e
e para detalhes sobre UDFs, consulte:
As macros devem estar ativadas para que isso funcione!