Zavrieť

Porady

Slucka? Ako opakovat spustenie makra s pocitadlom?

Ahojte,

Tak mam zaver 2/3 ,
ale na zaver neviem domotat slucku na makro...

Mam kod, ktory potrebujem opakovat, niekedy 20 krat, niekedy 50 krat, niekedy 5 krat, podla aktualneho stavu.

Kod >

'-----------------------
Sub test()

→Tu mam kod←

End Sub
'-----------------------

Potreboval by som tam niekde vsunut to pocitadlo s opakovanim.

Vopred Dakujem velmi pekne za odpoved!!!
Pravidlá a tipy
  • Každý móže napísať len 1 odpoveď. Neskor mozete svoju odpoveď vylepšiť.
  • Odpoveď má priniesť riešenie na otázku, vyvarujte sa hodnotenia otázky.
  • Odpoveď má byť viac o faktoch ako o názoroch.
Dalšie pravidla a tipy
    Ak potrebujete v otázke niečo upresniť, najskôr sa spýtajte na podrobnosti.
    Koncept slúži na uloženie rozpracovanej odpovede, koncept sa zobrazuje len Vám, až kým ho nezverejníte.
    Ak máte podobnú otázku, založte Novú otázku alebo Súvisiacu otázku.
    ❤ Buďte priateľskí ❤
    Sme súčasťou jednej komunity, ktorá si chce vzájomne pomáhať, rozdieľnosť je vítaná ak neubližuje!
    Usporiadať podľa času

    marjankaj je offline (nepripojený) marjankaj

    I am a man marjankaj
    Použi STATIC premenná AS LONG
    8 komentáre - rozbaľ     zbaliť
    microhyd No to by som rad, ale neviem ako nato ...
    1.Prosim, napis mi spravnu syntax tejto premennej
    2.Pise sa to do kodu,teda konkretneho makra, alebo do sheet kodu?
    Potom uz by som to mal dat dokopy
    Dakujem
    marjankaj https://www.google.sk/search?q=stati...NYOeygO_94DoDA
    microhyd Zrejme poukazujes na toto:

    Function updateSales(ByVal thisSale As Decimal) As Decimal
    Static totalSales As Decimal = 0
    totalSales += thisSale
    Return totalSales
    End Function

    Ale isty si niesom.
    Bud prosim strucnejsi.
    Ak mi sem hodis link, tak nech som presmerovany na odpoved a nie na vyhladavanie z googlu, pretoze to zvykne byt komplikovanejsie.
    Ak je toto ten spravny kod, vklada sa do makra?
    A kde prepisujem COUNT pre slucku?
    No a kde to mam zasunut v tom kode?
    '-----------------------
    Sub test()

    →Tu mam kod←

    End Sub
    '-----------------------
    marjankaj No nehnevaj sa ale tvojmu kódu akosi nerozumiem. Predsa to vložíš medzi SUB a ENDSUB.
    Ak nevieš základy, tak sa to najprv nauč.
    microhyd Keby som neovladal zaklady, nepisem si o radu ohladom slucky, pretoze by som nemal kod, ktory by som chcel opakovat....
    Vlozil som ho medzi Sub a End sub, tak sa to bezne robi, ale tento kod mi nefunguje ani na zaciatku makra, ani na konci makra, ani v stredemakra, ani rozdeleny.(experimenty)
    To je ten problem.
    Skusal si ho a funguje ti?
    Bud taky dobry a posli mi ten excel, kde ti to funguje, rad by som ten kod videl funkcny, budem ti velmi vdacny.
    Staci ak napises kod napriklad oznacenie bunky A1 a vpisanie cisla do A1, povedzme 5 krat.
    Dakujem

    OK< tu mas kod, len tam daj tu slucku a budem ti vdacny>




    Sub Tst()

    ' Prosim, vloz sem tu slucku , nech sa toto zopakuje 5x
    ' Dakujem


    Range("A1").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("A3").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("A4").Select
    ActiveCell.FormulaR1C1 = "5"
    Range("A5").Select

    End Sub
    microhyd No vidis. Tak ak to zhrniem z casoveho hladiska, tak
    >otvorit excel , otvorit VB a vlozit tam toto

    Sub Tst()

    ' Prosim, vloz sem tu slucku , nech sa toto zopakuje 5x
    ' Dakujem


    Range("A1").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("A3").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("A4").Select
    ActiveCell.FormulaR1C1 = "5"
    Range("A5").Select

    End Sub

    trva 15 sekund.
    Dalej>
    Vlozenie tvojho odkazu, ak je to take jednoduche , ako si spominal, pridavam 15 sekund.
    test spravnosti + upload 1.5 minuty.
    15sec.+15sec.+90sec.=2 minuty

    Tak kde nastal problem?

    Ja si viem priznat nedostatok, nemam s tym problem a keby som ich spustu nemal, nepotrebujem poradit ...

    Ale vidis to, lepsie je asi napisat "nauc sa zaklady" ako podat odpoved, ktora bola podla teba tak extra jednoducha

    No aj tak ti dakujem, pohram sa s tym ked budem potrebovat viac ako 30 otacok, zatial to davam v nakopirovanom makre a to zvlada 30 citani jedneho makra.
    marjankaj Jediný problém je, že vôbec netuším čo chceš. A mám taký dojem, že to netušíš ani ty.
    Fakt netuším načo by ti bol taký kód, ktorý robí 5 krát to isté.
    Sub Tst()

    ' Prosim, vloz sem tu slucku , nech sa toto zopakuje 5x
    ' Dakujem

    For i=1 to 5

    Range("A1").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("A3").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("A4").Select
    ActiveCell.FormulaR1C1 = "5"
    Range("A5").Select

    next i

    End Sub
    microhyd ĎAKUJEM!!!
    Ja som vedel, ze to vies, ale tiez som vedel, ze kod bude zniet inak, co si vlastne aj teraz ukazal
    A ak je toto otazka
    "Fakt netuším načo by ti bol taký kód, ktorý robí 5 krát to isté."
    Tak ti dam odpoved , ak netusis
    Mam urcite data ktore vyhodnocujem podla aktualneho stavu (vzdy aktualny riadok) a makro spustam v roznom pocte, niekedy 5x a ak chcem aby testoval data napriklad hodinu, nastavim tam slucku napriklad 500 opakovani.
    Pridem za hodinu, pozriem statistiku, urcim a zaznamenam potrebne cisla a potom mozem zase podla moznosti makro opakovat a to vsetko bez toho, aby som ho musel klikat a sediet pritom.
    Ide o nieco ako testovanie , ale doteraz som mohol nastavit maximalne 30 otociek a to makro bolo hotove za 4.5 minuty.
    Za 4.5 minuty som musel prist k excelu a kliknut makro znova a tak dookola kazde 4 minuty...
    Teraz nastavim napriklad 1000 a medzitym mozem robit ine , dolezitejsie veci

    Fakt dik moc! Ako stale, velmi si mi pomohol!

    Pekny den ti prajem
      zbaliť

    Slucka? Ako opakovat spustenie makra s pocitadlom?

    Porady, ktoré by vás mohli zaujímať

    Prihláste sa a sledujte len tie Porady, ktoré Vás zaujímajú.