Con la ColumnView hai il problema che l'indicizzazione la devi gestire tramite il cursore interno al controllo che punta la riga selezionata.
Un esempio potrebbe essere:
Somma = 0
ColumnView1.MoveFirst
DO
Somma += Val(ColumnView1.Item[Colonna_del_valore])
TRY ColumnView1.MoveNext
IF ERROR THEN
BREAK
ENDIF
LOOP
Penso funzioni, l'ho scritto "al volo" senza provarlo.
In teoria dovrebbe ciclare attraverso tutte le righe e fare la somma dei valori dei campi della colonna interessata. Dovrebbe poi uscire in automatico non appena tenti di andare oltre l'ultima riga.
Un altro contenitore è la GridView: se devi fare molte operazioni di indicizzazione sulle celle, te lo consiglio.
Puoi indicizzare una cella semplicemente con:
GridView[Riga, Colonna].un_oggetto
Nel caso di cui sopra, il codice diventa:
Somma = 0
FOR i = 0 to GridView.Rows.Count - 1
Somma += Val(GridView[i,Colonna_del_valore].Text)
NEXT
Public Sub btnInserisciRiga_Click()
Dim Riga as Integer
Griglia.Rows.Count += 1
Riga = Griglia.Rows.Count-1
Griglia[Riga,0].Text = TextBox1.Text
Griglia[Riga,1].Text = TextBox2.Text
Griglia[Riga,2].Text = TextBox3.Text
END
L'ho scritto a mano, ma dovrebbe funzionare.