Ciao a tutti, ho riscontrato un problema con l'esecuzione di un programma in cui devo inserire in input una stringa contenente dei numeri, separati da un punto e virgola, e devo individuare e mandare in output solo il maggiore.
Non riesco a capire dove sia l'errore perchè mi dice che massimo è pari a 0, qualcuno può aiutarmi?

Dim stringa As String
Dim calc_massimo As Double
Dim max, min As String


max = ""


stringa = TB_stringa.Text


If stringa >= "A" And stringa <= "Z" Or stringa >= "a" And stringa <= "z" Then
MsgBox("la stringa non contiene solo numeri") : Exit Sub
End If


calc_massimo = Calcola_Massimo(stringa, max)


Call Ris( calc_massimo)
End Sub




Private Sub Ris(ByVal calc_massimo As Double)
MsgBox("il numero maggiore è: " & calc_massimo)
End Sub



Private Function Calcola_Massimo(ByVal max As String, ByVal stringa As String) As String
Dim car, num As String
Dim n As Double
Dim massimo As Double
Dim conta As Integer


num = 0


For i = 1 To Len(stringa)


car = Mid(stringa, i, 1)


If IsNumeric(car) Then
num &= car
End If


If car = ";" Or car = "" Or i = Len(stringa) Then


n = CDbl(car)
num = ""
conta += 1


If conta = 1 Then
max = n
End If


If n > max Then
massimo = n
Else
massimo = max
End If
End If
Next


Return massimo
End Function
End Class