Public Function mysum(source As String, delim As String) As Double
source = "," & source & ","
delim = "," & delim & "("
If InStr(source, delim) > 0 Then
source = Left(source, InStr(1 + InStr(source, delim), source, ","))
End If
If InStr(source, ",SR,") > 0 Then
mysum = 72
End If
Do Until InStr(source, "(") = 0
source = Mid(source, 1 + InStr(source, "("))
mysum = mysum + Val(source)
source = Mid(source, InStr(source, ")"))
Loop
End Function
onde
- source - célula de dados (contendo "WH, QC-NDE (0.75), ..., INSP_FIN (1)")
- delim - delimiter-terminator ("CHL150-1", "HMCT12P1", ...)
Ambos os parâmetros podem ser endereços de célula e literais.
"SR" e 72 também podem ser convertidos de constantes codificadas para parâmetros (opcionais).
Se você quiser renomear a função, você deve substituir TODAS as ocorrências no código (4 vezes).