satunnaisluku

Hei. Saako satunnailuku kaavaan sellaista komentoa, jossa painettaessa F9 nappia satunaisluku generaattori pyörisi vaikka 1min ja ilmoittaisi sen jälkeen luvun. Käytössä suomenkielinen excel

kaava =satunnaisluku()*1500
6743
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Tästä voisi kehittää ainakin VBA:lla helposti "miettivän" generaattorin.

Eli moduliin tämä:
'*******
Sub aja()
ThisWorkbook.Sheets(1).Calculate
' tee proseduuri "luku" annetun ajan jälkeen
milloin = Now TimeValue("00:00:10")
Application.OnTime milloin, "luku"
End Sub

Sub luku()
Range("A1").Value = Rnd(1) * 1500
End Sub
'*********

"aja" tuuppaa A1 soluun 10 sekunnin kuluttua satunnaisluvun - viilaillahan tuota voi

Äänestä
  • Kokeilin ohjelmaa ja mulla se ei oikein pelittänyt. eli kun suoritin ajon, ohjelma ilmoitti että lukua ei löydy.Taas jos ajan luvun, niin luku tulee heti. En juurikaan ole käyttänyt VBE:tä joten tarvitsen hiukan apua. Miksi toi aika-arvo ei toteudu. Mulla on suomenkielinen excel.

    Äänestä

  • aika kirjoitti:

    Kokeilin ohjelmaa ja mulla se ei oikein pelittänyt. eli kun suoritin ajon, ohjelma ilmoitti että lukua ei löydy.Taas jos ajan luvun, niin luku tulee heti. En juurikaan ole käyttänyt VBE:tä joten tarvitsen hiukan apua. Miksi toi aika-arvo ei toteudu. Mulla on suomenkielinen excel.

    Koodi toimii sulla näköjään hyvin riville:

    Application.OnTime milloin, "luku"

    saakka mutta sitten se ei jostain kumman syystä löydä poseduuria nimeltä luku()

    Itse tuosta viestistä vielä copy pastella heitin moduliin ja hyvin toimi. Ikävä kyllä en osaa enempää auttaa :(

    Äänestä

  • aika kirjoitti:

    Kokeilin ohjelmaa ja mulla se ei oikein pelittänyt. eli kun suoritin ajon, ohjelma ilmoitti että lukua ei löydy.Taas jos ajan luvun, niin luku tulee heti. En juurikaan ole käyttänyt VBE:tä joten tarvitsen hiukan apua. Miksi toi aika-arvo ei toteudu. Mulla on suomenkielinen excel.

    Entäs, jos virität koodin sekaan vain tämän rivin (enen satunnaisluvun arpomista):

    Application.Wait Now() TimeValue("00:00:05")

    Äänestä

  • kun ei ole milloin muuttujaa määritelty oikein- eli toimii vain kerran

    tossa minuutin ajolle makro

    Public milloin As Double
    Public Loppu As Double
    Sub aja()
    Loppu = Now TimeSerial(0, 1, 0)
    Luku
    End Sub
    Sub Luku()
    Range("A1").Value = Rnd(1) * 1500
    milloin = Now TimeValue("00:00:01")
    Application.OnTime milloin, "luku", Loppu
    End Sub

    Äänestä

  • kunde kirjoitti:

    kun ei ole milloin muuttujaa määritelty oikein- eli toimii vain kerran

    tossa minuutin ajolle makro

    Public milloin As Double
    Public Loppu As Double
    Sub aja()
    Loppu = Now TimeSerial(0, 1, 0)
    Luku
    End Sub
    Sub Luku()
    Range("A1").Value = Rnd(1) * 1500
    milloin = Now TimeValue("00:00:01")
    Application.OnTime milloin, "luku", Loppu
    End Sub

    Mystistä - itse olent tuota kokeillut useammallakin ohjelmaversiolla eikä mitään ongelmaa.

    Jos käsitin oikein, generaattorin piti miettiä annettu aika ja antaa sitten luku.


    Tälläkin voisi ongelman ratkaista - eli nyt tuo luvun arpova osuus miettiin viisi sekuntia ja sitten antaa luvun

    Sub luku()
    Application.Wait Now() TimeValue("00:00:05")
    Range("A1").Value = Rnd(1) * 1500
    End Sub

    Paha kyllä tässä joutuu katselemaan tiimalasia.

    Äänestä

Kommentoi aloitusta


aika kirjoitti:

Hei. Saako satunnailuku kaavaan sellaista komentoa, jossa painettaessa F9 nappia satunaisluku generaattori pyörisi vaikka 1min ja ilmoittaisi sen jälkeen luvun. Käytössä suomenkielinen excel

kaava =satunnaisluku()*1500

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