Conta valori

di il
2 risposte

Conta valori

Salve a tutti piccolo problema per me problemone.

con excel se voglio contare i valori dalla cella 1A alla cella 50A e visualizzare il dato nella cella 51A come formula nella cella 51A scrivo:
=conta valori (A1:A50)
inserendo dei numeri casuali nelle varie caselle ,alla casella 51A conta quante caselle occupo.

con vb.net nel form metto 3 textbox e nella textbox4 voglio visualizzare il numero contato tipo excel.
il code scritto purtroppo non funziona ,sapete dirmi dove sbaglio . grazie
Class Form1
    Dim TextBoxes(3) As TextBox
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        For i As Integer = 0 To 3
            TextBoxes(i) = New TextBox
            TextBoxes(i).Name = String.Format("TextBox{0}", i)
        Next

    End Sub

    Private Sub Somma()
        Dim sum As Long
        For i As Integer = 0 To 3
            sum = sum + CLng(TextBoxes(i).Text)
        Next

        TextBox4.Text = sum.ToString()

    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim sum As Long
        TextBox4.Text = sum.ToString()
    End Sub

    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
        Dim sum As Long
        TextBox4.Text = sum.ToString()
    End Sub

    Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
        Dim sum As Long
        TextBox4.Text = sum.ToString()
    End Sub
End Class

2 Risposte

  • Re: Conta valori

    Ciao,
    se hai solamente 3 textbox da sommare, senza complicare il tutto, potresti fare cosi':
    
    'Evento Form_Load. Setto a 0 tutti i campi
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TextBox1.Text = "0"
            TextBox2.Text = "0"
            TextBox3.Text = "0"
            TextBox4.Text = "0"
        End Sub
    
    'Creo un evento TextBox_Validated che verra' gestito per tutte le textbox (textBox1 a textBox3)
        'Handles significa "aggancio" gli eventi
        Private Sub TextBox_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Validated, TextBox2.Validated, TextBox3.Validated
            'Dichiaro le variabili
            Dim a As Integer, b As Integer, c As Integer
            'resetto le variabili a un valore predefinito
            a = 0
            b = 0
            c = 0
            TextBox4.Text = "0"
            'Gestisco gli errori con un blocco try catch
            Try
                'converto il testo dei controlli nelle variabili
                a = CInt(TextBox1.Text)
                b = CInt(TextBox2.Text)
                c = CInt(TextBox3.Text)
                'Sommo le 3 variabili, li converto in stringa e lo assegno alla proprieta' text del controllo
                ' in parole povere visualizzo il risultato
                TextBox4.Text = (a + b + c).ToString()
            Catch ex As Exception
                'Visualizzo l'errore tramite messagebox
                MsgBox("Un errore! " & vbNewLine & ex.Message)
            End Try
        End Sub
    
    Si potrebbe rendere il tutto piu' complesso con array e oggetti, ma se sei agli inizi, ti consiglio di guardarti i manuali che stai studiando, pian pianino scoprirai da solo quale soluzione fara' al caso tuo.
  • Re: Conta valori

    Grazie adesso ci provo
Devi accedere o registrarti per scrivere nel forum
2 risposte