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

515

    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. SDP jo 100 % suositumpi kuin persut

      Kertoo Hesarin uusin kannatuskysely. Demareiden kannatus on miltei tuplat verrattuna persuihinl. Suomen kansa ei selväst
      Maailman menoa
      295
      14672
    2. Valtavasti suomalaisia asunnottomina, mutta ei yhtään somalia

      tai muuta kehitysmaalaista. Mites tässä näin kävi? Tiedän hyvin, että esim. somaleita lentää ulos mm. Hekan asunnoista,
      Maailman menoa
      178
      4250
    3. PS ylivoimainen nousija myös HS:n gallupissa, SDP laskee taas

      https://www.verkkouutiset.fi/a/hs-gallup-sdpn-suosio-laskee-ps-nousussa/#0a7d2507 Ylivoimainen viime kuukausien nousija
      Maailman menoa
      136
      3903
    4. Totuuspuolueen johtaja Jaana "prinsessa Leia" Kavonius on vangittu

      Kavonius määrättiin jo keväällä 2024 poissaolevana vangittavaksi todennäköisin syin epäiltynä 13 vainoamisesta ja 24 kun
      Maailman menoa
      452
      1881
    5. Kovia syytöksiä Stefan Thermaninsta.

      Jättänyt taas maksamatta kohuliikemies, hupparit ja muita ostamiaan tavaroita. On soiteltu liikkeestä ja Stefan iskenyt
      Kotimaiset julkkisjuorut
      186
      1875
    6. En minä kyllä enää odota sinua

      Olet siellä sen harmaan kanssa. Niin, annoit minun nähdä lämpimät tunteesi siitä huolimatta. Se merkitsi kyllä paljon. O
      Ikävä
      35
      1756
    7. Jos joku luulee että kaikki käy

      Sanon vain tämän. Minun kanssani ei neuvotella. Minun kanssani eletään tasavertaisesti. Jos se on liikaa, niin ovi rinn
      Ikävä
      52
      1385
    8. Joka kolmas työtön on työkyvytön

      Viime vuonna työnhakuvelvoitteen ulkopuolella oli noin kolmannes työttömistä työnhakijoista. Huhheijaa, mihin suomalais
      Maailman menoa
      153
      1247
    9. Sakin hivutus - ilmiö

      Miten tuollainen tuollainen ilmiö kuin ”sakin hivutus” syntyy? Mitä syitä ilmiön syntymiseen tarvitaan? Onko sakissa jok
      80 plus
      66
      1163
    10. Ei ole rohkeutta tulla jututtamaan

      Voidaan me nähdä ja tervehtiä, sitäkin harvoin, mutta iso kynnys on edes mennä lähelle ja kysyä kuulumisia. Ymmärrät var
      Tunteet
      8
      1161
    Aihe