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
satunnaisluku
6
687
Vastaukset
- tarkkana
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- aika
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.
- tarkkana
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 :( - tarkkana
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") 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- tarkkana
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 SubMystistä - 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.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 585030
Suomen kaksikielisyys - täyttä huuhaata
Eivätkö muuten yksilöt pysty arvioimaan mitä kieliä he tarvitsevat? Ulkomaalaiselle osaajalle riittää Suomessa kielitai544552Työeläkeloisinta 27,5 mrd. per vuosi
Tuo kaikki on pois palkansaajien ostovoimasta. Ja sitten puupäät ihmettelee miksei Suomen talous kasva. No eihän se kas1214472Mikä on vaikeinta siinä, että menetti yhteyden kaivattuun, jota vielä ajattelee?
Mikä jäi kaihertamaan? Jos jokin olisi voinut mennä toisin, mitä se olisi ollut? Mitä olisit toivonut vielä ehtiväsi san2881582- 2281298
- 811291
- 681245
- 305988
- 199930
Pääsit koskettamaan
Sellaista osaa minussa jota kukaan ei ole ennen koskettanut. Siksi on hyvin vaikea unohtaa sinut kokonaan.50810