Eli minulla on listbox, jossa on alekkain numeroita. Luuppaan listiä läpi ja if lausekkeella katson, lisätäänkö luku toiseen vai vähennetäänkö se siitä. Nyt kuitenkin aloituksessa on joku väärin, sillä ensimmäinen rivi jää laskuista pois kokonaan ja vika varmaan on syntaksissa:
For i = 0 To List1.ListCount - 1 ' jos otan -1 pois, niin ei itse yhtenlaskua ei tapahtu lainkaan
Eli alekkain on vaikka:
1
2
2
2
3
Ja ne pitäisi laskea yhteen, mutta tulos ei olekaan 10 vaan 9.
Tulokseksi saan 10 jos laitan ensimmäiselle riville nolla ja muut luvut sen jälkeen, mutta tämä ei liene ainoa tapa toimia?
list1.additem "1"
list1.additem "2"
list1.additem "2"
list1.additem "2"
list1.additem "3"
For i = 0 To List1.ListCount - 1
    tulos = tulos + Int(List1.List(i))
Next i
MsgBox tulosTuolla minä saan ainaskin tulokseksi kymmenen.
Juu, toi ylempi antaa tuloksen 10, mutta tämä vaan 9.. Jossain skipataan rivin 0 yli..
List1.AddItem "1"
List1.AddItem "+"
List1.AddItem "2"
List1.AddItem "+"
List1.AddItem "2"
List1.AddItem "+"
List1.AddItem "2"
List1.AddItem "+"
List1.AddItem "3"
Dim Summa As Double
Dim Vmerkki As String
For i = 0 To List1.ListCount - 1
If List1.List(i) = "+" Then
Vmerkki = "+"
End If
If List1.List(i) = "-" Then
Vmerkki = "-"
End If
If List1.List(i) <> "+" And List1.List(i) <> "-" Then
If Vmerkki = "-" Then
Summa = Summa - List1.List(i)
End If
End If
If List1.List(i) <> "+" And List1.List(i) <> "-" Then
    If Vmerkki = "+" Then
    Summa = Summa + List1.List(i)
    End If
End If
Next i
Text1.Text = SummaKoodisi imee sukkaa, koska ensimmäistä arvoa ("1") tarkistettaessa ei ole mitään Vmerkkiä asetettu, eli sitä ei lisätä Summaan tai poisteta Summasta.
If IsNumeric(List1.List(i)) Then
    If Vmerkki = "-" Then
        Summa = Summa - List1.List(i)
    ElseIf Vmerkki = "+" Then
        Summa = Summa + List1.List(i)
    Else
        Summa = List1.List(i)
    End If
End IfNiimpä, oppimattomuus aiheuttaa typerehtimistä... Kiitos, nyt toimii!
Aihe on jo aika vanha, joten et voi enää vastata siihen.