vero, vb vede l'operatore + come concatenamento per stringhe

se hai numeri interi la soluzione di anatroccolo è la più semplice e la migliore, per i numeri decimali val ti toglie tutto quello che cè dopo la virgola, in questo caso devi usare Cdbl, unico problema che cdbl con valori nulli nelle text va in errore, e devi correggere con una struttura if


codice:
myvariabile = txttot.text

if isnumeric(myvariabile) then
myvariabile = Cdbl(txttot.tex)
else
myvariabile = val(txttot.tex)
end if

txttotale.tex = myvariabile + ecc....
in pratica per ogni text dovresti farti una struttura if e una variabile, in alternativa crei una matrice di text e una variabile dimensionale e racchiudi tutto in un ciclo for

per la seconda soluzione posso postarti codice