Application.Wait Now

Pasi

Terve,

Exelillä tehdyssä ohjelmassani on "peukaloidenpyöritysrivi" eli rivi joka ei tee mitään muuta kuin odottaa tietyn ajan. Rivi on seuraavanlainen:

Application.Wait Now TimeValue("0:00:01")

Kyseinen rivi saa ohjelman odottamaan yhden sekunnin, mutta entäpä jos haluan ohjelman odottavan vaikkapa vain puoli sekuntia, onnistuuko se?

-Pasi-

7

523

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • paavali50

      Yritin sellaista että jakais sen sekunnin kahdella, mutta ei onnistu, tekee molemmat samaan aikaan.
      Sub Makro1()
      [A1] = 1
      Application.Wait Now TimeValue("0:00:01") / 2
      [A10] = 1
      End Sub

      Tämä kyllä onnistuu, tekee toisen viiden sekunnin kuluttua.
      Sub Makro1()
      [A1] = 1
      Application.Wait Now TimeValue("0:00:10") / 2
      [A10] = 1
      End Sub

      Ilmeisesti TimeValue ei ymmärrä sekuntia pienempää aikaa

      • Pasi

        Kiitos kuitenkin yrityksestä!


    • M.L.

      Yksi ratkaisu ongelmaan olisi tehdä silmukka, joka ei tee mitään:

      Alku = Timer
      Do While Timer < Alku 0.5
      Loop

      Edellä oleva koodi suorittaa tyhjää silmukkaa puolen sekunnin ajan. Esimerkissä "Alku" on single-tyyppinen muuttuja.

      Timer-funktio palauttaa keskiyöstä kuluneen ajan sekunnin sadasosan tarkkuudella. Siispä yllä oleva koodi ei toimi oikein, jos vuorokausi vaihtuu juuri silmukan suorituksen aikana.


      - Mika

      • Pasi

        Joo, tuota täytyykin kokeilla. Aika sattumaa olisi jos koodin suoritus sattuisi juuri puolen yön aikaan ja vieläpä sekunnin sadasosan tarkkuudella ja sitä paitsi ei ole niin älyttömän paha juttu vaikka tuollainen sattuma tulisikin.

        Kiitos!


    • Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
      ja koodissa sitten käytät
      sleep 500
      1000 millisekuntia=1 s

      • Pasi

        Juuri tuollaista koodia etsinkin, yksinkertaista ja "helppokäyttöistä". Harmi vain että Excel ilmoitti selkeästi:

        "Käännösvirhe: Vakioita, kiinteämittaisia merkkijonoja, taulukoita ja Declare-lausekkeita ei voi käyttää objektimoduulien Public-jäseninä"

        En vielä kokeillut toimiiko koodi jos se on jossakin modulissa, nyt yritin laittaa sitä UserFormin koodiin. Pärjään kyllä tuolla Loop-koodillakin.

        Kiitos ja kumarrus!

        -Pasi-


      • Pasi kirjoitti:

        Juuri tuollaista koodia etsinkin, yksinkertaista ja "helppokäyttöistä". Harmi vain että Excel ilmoitti selkeästi:

        "Käännösvirhe: Vakioita, kiinteämittaisia merkkijonoja, taulukoita ja Declare-lausekkeita ei voi käyttää objektimoduulien Public-jäseninä"

        En vielä kokeillut toimiiko koodi jos se on jossakin modulissa, nyt yritin laittaa sitä UserFormin koodiin. Pärjään kyllä tuolla Loop-koodillakin.

        Kiitos ja kumarrus!

        -Pasi-

        Joo ei toimi jos Public muuttuja lomakkeella, joten
        moduuliin...
        Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

        ja lomakkeella voit sitten käyttää esim.
        sleep 500


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

    Luetuimmat keskustelut

    1. Marin sitä, Marin tätä, yhyy yhyy, persut jaksaa vollottaa

      On nuo persut kyllä surkeaa porukkaa. Edelleen itkevät jonkun Marinin perään, vaikka itse ovat tuhonneet Suomen kansan t
      Maailman menoa
      173
      4416
    2. Vilma Nissinen pyytää anteeksi rasistisia lausuntojaan

      Nöyrtyi kuten persut yleensäkin. On kyllä noloa tuollainen vätystely, kun ei ole miestä seisoa omien lausuntojensa takan
      Maailman menoa
      156
      2911
    3. Ikävä sinua..

      Kauan on aikaa kulunut ja asioita tapahtunut. Mutta sinä M-ies olet edelleen vain mielessäni. En tiedä loinko sinusta va
      Ikävä
      27
      2466
    4. Riikka Purra: "Kokoomus haluaa leikata pienituloisten etuuksista - Se ei meille käy"

      Näin vakuutti persujen Purra edellisten eduskunta vaalien alla,. https://www.ku.fi/artikkeli/4910942-kun-uudessa-videos
      Maailman menoa
      58
      1897
    5. Riikka Purra sanoo, että sietokykyni vittumaisiin ihmisiin alkaa olla lopussa.

      https://www.iltalehti.fi/politiikka/a/be8f784d-fa24-44d6-b59a-b9b83b629b28 Riikka Purra sanoo medialle suorat sanat vitt
      Maailman menoa
      383
      1854
    6. Lindtmanin pääministeriys lähenee päivä päivältä

      Suomen kansan kissanpäivät alkavat siitä hetkestä, kun presidentti Stubb on tehnyt nimityksen. Ainoastaan ylin tulodesi
      Maailman menoa
      65
      1523
    7. Sandels tölkin hinta nousi 1,29 eurosta 1,32 euroon

      Mitähän järkeä valtiolla on verottaa tuotakin elintarviketta niin kovasti, että on järkevämpää käydä hakemassa ulkomailt
      Köyhyys
      28
      1512
    8. Muistattekos kuinka persujen Salainen Akentti kävi Putinin leirillä

      Hakemassa jamesbondimaista vakoiluoppia paikan päällä Venäjällä? Siitä ei edes Suomea suojeleva viranomainen saanut puhu
      Maailman menoa
      24
      1500
    9. Pitäisikö ilotulitteiden myynti kieltää?

      Esim jyväskylässä ainakin on ammuttu ilotulitteita päin ihmisiä ja autoja. Samoin Helsingissä? Pitäisikö ilotulitteiden
      Maailman menoa
      112
      1456
    10. Kapiainen siviiliesimies, Herra suuri Herra

      Sotilaana kyvytön, johtajana munaton ja kotona tossun alla. Se on upseerin uran tuen pää, seinään ajo. Mutta aina löytyy
      Sodankylä
      86
      1453
    Aihe