Nii eli mites sais arvottuu 3:esta MsgBox:ista, että mikä niist suoritetaa/näytetää? Oon kuullu, että se onnistuis jotenki jollaa Randomise hommal ja löysin tommosen: https://www.ohjelmointiputka.net/hak/?kieli=Visual Basic&nimi=Randomize jost en kyl vaa tajunnu oikee, eli jos sil onnistuis, nii saisko esimerkki koodinpätkän?
Randomize alustaa satunnaislukugeneraattorin. Ja itse luvun arpominen tapahtuu Rnd-funktiolla, joka palauttaa satunnaisen luvun väliltä 0 - 1. Sopivalla kertoimella ja kokonaisluvuksi pyöristyksellä pystyy helposti arpomaan lukuja tietyltä asteikolta.
Dim arpa As Integer 'alustetaan satunnaislukugeneraattori Randomize Timer 'arvotaan luku väliltä 0 - 2 arpa = Int(Rnd * 3) 'toimitaan arvotun luvun mukaisesti Select Case arpa Case 0 MsgBox "Eka viesti" Case 1 MsgBox "Toka viesti" Case 2 MsgBox "Kolmas viesti" End Select
Jos viestejä on enemmän:
Dim arpa As Integer, viestit() As Variant 'laitetaan viestit taulukkoon viestit = Array("Eka viesti", "Toka viesti", "Kolmas viesti") 'alustetaan satunnaislukugeneraattori Randomize Timer 'arvotaan luku väliltä 0 - 2 arpa = Int(Rnd * 3) 'toimitaan arvotun luvun mukaisesti MsgBox viestit(arpa)
Aihe on jo aika vanha, joten et voi enää vastata siihen.