Tyttö83

LOTTORIVI LASKURI

Pitäisi tehdä lottorivi laskuri Excelillä. Osaisiko joku auttaa, miten sellainen tehdään?

Siis tällainen on tehtävän anto:

"Eipä tässä mitään ihmeellistä keksinyt niin että kotitehtävä on
lottorivin arvonta. Jos saat aikaiseksi makron joka tekee exceliin
kuusi satunnaislukua välille 1-37 (vai mikä se suurin numero on
nykyään?) niin saat kotitehtävästä 3. Mieluummin tulosta makro ja
tulokset paperille ja laita aulassa olevaan postilaatikkooni. Ei pidä
sitten hermostua, vaikka et onnistuisikaan tässä tehtävässä. Tehtäviä
tulee lisää...

Jos teet semmosen ohjelman, joka vielä tarkistaa että kaikki numerot
ovat erilaiset ja ovat vieläpä suuruusjärjestyksessä excelissä, saat
4 pistettä. Tässä tapauksessa haluan ohjelman sähköpostitse niin että
voin laittaa sen edelleen kaikille."

Eli tällainen ohjelma me tehtiin koulussa, ja vastaavalla tavalla tulisi se lottorivikin, mutta kun tuostakaan ei oikein ymmärrä niin... :( Luennoitsija ei oikein mielestäni osaa opettaa.


Sub satun()
For i = 1 To 1000
Cells(2, 2) = "=rand()"
j = Int(10 * Cells(2, 2)) 1
Cells(1, 1) = j
Cells(5, j) = Cells(5, j) 1
Next i
End Sub

6

1515

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Opa

      Makro vaikka näin:

      Sub lotto()

      Dim v1 As Integer
      Dim v2 As Integer
      Dim v3 As Integer
      Dim v4 As Integer
      Dim v5 As Integer
      Dim v6 As Integer


      v1 = Int((37 * Rnd) 1) ' Generate rorom value between 1 or 37.
      v2 = Int((37 * Rnd) 1)
      While (v2 = v1)
      v2 = Int((37 * Rnd) 1)
      Wend

      v3 = Int((37 * Rnd) 1)
      While ((v3 = v1) Or (v3 = v2))
      v3 = Int((37 * Rnd) 1)
      Wend

      v4 = Int((37 * Rnd) 1)
      While ((v4 = v1) Or (v4 = v2) Or (v4 = v3))
      v4 = Int((37 * Rnd) 1)
      Wend

      v5 = Int((37 * Rnd) 1)
      While ((v5 = v1) Or (v5 = v2) Or (v5 = v3) Or (v5 = v4))
      v5 = Int((37 * Rnd) 1)
      Wend

      v6 = Int((37 * Rnd) 1)
      While ((v6 = v1) Or (v6 = v2) Or (v6 = v3) Or (v6 = v4) Or (v6 = v5))
      v6 = Int((37 * Rnd) 1)
      Wend

      Range("A1").Value = v1
      Range("A2").Value = v2
      Range("A3").Value = v3
      Range("A4").Value = v4
      Range("A5").Value = v5
      Range("A6").Value = v6

      'sorttaus
      Columns("A:A").Select
      Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal
      Range("B1").Select

      End Sub

      • Kiitos!

        Suuri kiitos ja kumarrus Opalle!


      • Miksu_82

        sulta toi sujuvan niin autappa tyttöä saamaan plussa tehtävästa ja kirjoota sille lisänumerotkin :)


      • Kunde
        Miksu_82 kirjoitti:

        sulta toi sujuvan niin autappa tyttöä saamaan plussa tehtävästa ja kirjoota sille lisänumerotkin :)

        Aloittelijan koodia yritin tehdä...
        for next silmukat ja select- selection jutskaa :)


      • Kunde
        Miksu_82 kirjoitti:

        sulta toi sujuvan niin autappa tyttöä saamaan plussa tehtävästa ja kirjoota sille lisänumerotkin :)

        Tällä voi vaikka voittaakin...

        Option Explicit
        Function Lotto(Alaraja As Integer, Yläraja As Integer, Määrä As Integer, Lisänumerot As Integer) As String
        Dim Taulu As Variant
        Dim a As Integer
        Dim b As Integer
        Dim Temppi As Integer
        Application.Volatile
        ReDim Taulu(Alaraja To Yläraja)
        For a = Alaraja To Yläraja
        Taulu(a) = a
        Next a
        For a = Yläraja To Alaraja 1 Step -1
        b = Int(Rnd() * (a - Alaraja 1)) Alaraja
        Temppi = Taulu(b)
        Taulu(b) = Taulu(a)
        Taulu(a) = Temppi
        Next a
        Range("A1:A" & Määrä Lisänumerot 1) = ""
        For a = Alaraja To Alaraja Määrä Lisänumerot - 1
        Range("A" & a) = Taulu(a)
        Next a
        Range("A1:A" & Määrä).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        Range("A" & Määrä 1 & ":A" & Määrä Lisänumerot).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        Rows("8:8").Insert Shift:=xlDown
        End Function
        Sub Testi()
        Lotto 1, 39, 7, 3
        End Sub


      • Tyttö83
        Kunde kirjoitti:

        Tällä voi vaikka voittaakin...

        Option Explicit
        Function Lotto(Alaraja As Integer, Yläraja As Integer, Määrä As Integer, Lisänumerot As Integer) As String
        Dim Taulu As Variant
        Dim a As Integer
        Dim b As Integer
        Dim Temppi As Integer
        Application.Volatile
        ReDim Taulu(Alaraja To Yläraja)
        For a = Alaraja To Yläraja
        Taulu(a) = a
        Next a
        For a = Yläraja To Alaraja 1 Step -1
        b = Int(Rnd() * (a - Alaraja 1)) Alaraja
        Temppi = Taulu(b)
        Taulu(b) = Taulu(a)
        Taulu(a) = Temppi
        Next a
        Range("A1:A" & Määrä Lisänumerot 1) = ""
        For a = Alaraja To Alaraja Määrä Lisänumerot - 1
        Range("A" & a) = Taulu(a)
        Next a
        Range("A1:A" & Määrä).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        Range("A" & Määrä 1 & ":A" & Määrä Lisänumerot).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        Rows("8:8").Insert Shift:=xlDown
        End Function
        Sub Testi()
        Lotto 1, 39, 7, 3
        End Sub

        Kiitos! Mutta tuo on jo liian monimutkainen ymmärrettäväski näin vähäisellä Excelin käyttö osaamisella. :)


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Riikan kukkaronnyöri on umpisolmussa

      Kulutus ei lähde liikkeelle, koska kansalaiset eivät usko, että: – työpaikka säilyy – tulot eivät romahda – talous ei h
      Maailman menoa
      3
      2721
    2. Jos vedetään mutkat suoraksi?

      Niin kumpaan ryhmään kuulut? A) Niihin, jotka menevät edellä ja tekevät? Vai B) Niihin, jotka kulkevat perässä ja ar
      Sinkut
      106
      2541
    3. Tanskan malli perustuu korkeaan ansioturvaan

      Ja vahvoihin työllisyys- ja kotoutumispalveluihin. Suomessa Riikka on leikannut juuri näitä: palkkatukea, työttömyysturv
      Maailman menoa
      4
      2239
    4. Vain vasemmistolaiset ovat aitoja suomalaisia

      Esimerkiksi persut ovat ulkomaalaisen pääomasijoittajan edunvalvojia, eivät auta köyhiä suomalaisia.
      Maailman menoa
      44
      1855
    5. Miten must tuntuu

      et sä ajattelet mua just nyt
      Ikävä
      32
      1443
    6. Anteeksipyyntöni

      Jätän tähän anteeksipyyntöni sinulle, koska en voi sanoa sitä missään muuallakaan. Pyydän anteeksi, jos purkamani tuska
      Järki ja tunteet
      14
      1433
    7. Kun et vain tajua että

      sua lähestytään feikkiprofiililla :D Hanki aivot :D m-n
      Ikävä
      176
      1155
    8. Sydämeni valtiaalle

      En täältä aio asioita kysellä. Haluan tuoda tiedoksesi, että pohjimmiltani en ihmisiä tahdo satuttaa ja ajattelen muiden
      Ikävä
      101
      1134
    9. Persu ajoi autoa

      Ajoi lapsen yli https://www.iltalehti.fi/kotimaa/a/597a7468-3d1d-455e-bed2-21c1efc31ac1
      Perussuomalaiset
      20
      1053
    10. Oletko tyytyväinen

      Tämän hetkiseen tilanteeseenne? Odotatko, että lähennytte vai yritätkö päästä yli ja eteenpäin?
      Ikävä
      81
      938
    Aihe