Tyttö83

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
61519
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

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

Äänestä
  • Suuri kiitos ja kumarrus Opalle!

    Äänestä

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

    Äänestä

  • 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 :)

    Äänestä

  • 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

    Äänestä

  • 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. :)

    Äänestä

Kommentoi aloitusta


LOTTORIVI LASKURI kirjoitti:

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

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu