Ciao a tutti, ho scritto un piccolo programmino con VB che calcola le temperature medie rilevate in un mese, ma mi dà dei problemi.
Dunque, l'interfaccia è così costruita: in una finestra ho una matrice di textbox (31 controlli denominati "Text1(x)"), una label chiamata "media" e un pulsante "Calcola media" nel cui evento clic vi è questo codice che ho scritto io e che apparentemente sembra funzionare:

codice:
Dim NUMEROTEXTBOX As Integer
    Dim SOMMAVALORITEXTBOX As Double
    Dim SUQUANTOLAMEDIA As Integer
    	For NUMEROTEXTBOX = 1 To 31
        	If Val(Text1(NUMEROTEXTBOX).Text) <> 0 Then
            	SOMMAVALORITEXTBOX = Text1(NUMEROTEXTBOX).Text + SOMMAVALORITEXTBOX
            	SUQUANTOLAMEDIA = 1 + SUQUANTOLAMEDIA
        	End If
    	Next NUMEROTEXTBOX
    
    If SOMMAVALORITEXTBOX <> 0 And SUQUANTOLAMEDIA <> 0 Then
        media = Format((SOMMAVALORITEXTBOX / SUQUANTOLAMEDIA), "#,##0.00")
        Else: media = 0
    End If
Il problema è questo. Se butto dentro a caso, magari senza riempire tutte le caselle, dei numeri, la media calcolata è giusta (ho provato a inserire in 15 caselle il valore +1, in altre 15 il valore -1 e lasciarne una vuota e il programma mi dà - giustamente - come risultato 0. Se butto dentro tutti 1 mi dà - giustamente - come risultato 1..... se metto invece i valori di cui mi interessa veramente la media, mi sbaglia il conto. Come è possibile? C'è qualche errore nel codice che ho postato?
Aiuto!
Ciao e grazie.
Ste