Olisiko jollakin hyvää vinkkiä miten tehdään vertailu useamman Labelin ja ComboBoxin välillä. Vertailun pohjalta lasketaan Label4:n arvo?
Kokeilin alapuolen hässäkällä ja jos kaikki vaihtoehdot käy läpi niin homma ei näytä järkevältä, toivottavasti esimerkki selventää asiaa
esim.
If Label1>1(1 tai 0) And Label2>1(1 tai 0) And Label3>1(1 tai 0) And ComboBox1.Value=1(1..23) And ComboBox2.Value=1(1..23) Then Label4= a*b Elseif Label1>1(1 tai 0) And Label2=0(1 tai 0) And Label3>1(1 tai 0) And ComboBox1.Value=1..23 (1..23) And ComboBox2.Value=1..23(1..23) Then Label4= a*b jne.
Label1 1 1 1 0 0 1 0 Label2 1 1 0 0 1 0 1 Label3 1 0 0 1 1 1 0 ComboBox1 1....23 ComboBox2 1....23
Jos vaihtoehtoja on niin paljon, että erilliset if-lauseet eivät näytä hyvältä, voit laittaa vaihtoehdot ja toivotut tulokset taulukkoon ja käydä ne silmukassa läpi. Idea selvinnee alta:
Taulukko: L1 L2 L3 C1 C2 Tulos 1 1 1 1 1 a*b 1 1 0 1 1 a*b*c ... For i = 1 To N If Label1 = Taulukko(i, 1) And Label2 = Taulukko(i, 2) And ... Then Label4 = Taulukko(i, 6) Exit For End If Next i
Toisaalta kannattaa myös miettiä, noudattavatko vaihtoehdot jotain loogista kaavaa, jolloin if-lauseita tulisi vähemmän. Esimerkiksi jos huomaat, että Label1=0 johtaa aina tulokseen Label4=a*b riippumatta muista arvoista, säästät saman tien vaikka kuinka monta if-lausetta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.