Chronometro kūrimas „Excel“ (pagrindinis + „Toastmasters“ stilius)

Dirbdamas IBM buvau „ToastMasters International“ klubo dalis. Tai vieta, kur galite pagerinti savo bendravimo ir vadovavimo įgūdžius.

Įdomi savaitės susitikimų dalis buvo improvizuotas kalbėjimas. Šioje susitikimo dalyje žmogui buvo suteikta tema ir jis/ji turėjo apie tai kalbėti 2 minutes. Buvo paskirtas asmuo, kuris anksčiau laiko kalbėdavo ir 1 minutę parodydavo žalią, 1:30 - geltoną, o po 2 minučių - raudoną kortelę.

Paprastai kalbai nustatyti naudojamas išmanusis telefonas ar laikrodis, o laikas užfiksuojamas rankiniu būdu ant popieriaus.

Dažnai atsitinka taip, kad žmogus pamiršta parodyti spalvotąsias korteles arba kartais pamiršta įrašyti garsiakalbių laiką (tai atsitiko man visą laiką). Turėdamas omenyje šiuos dalykus, „Excel“ sukūriau chronometrą, kuris padėtų laiką ir įrašytų kalbas.

Pirmiausia sužinokime, kaip „Excel“ sukurti pagrindinį chronometrą.

Kaip sukurti chronometrą „Excel“ (paprasta)

„Excel“ paprastu/pagrindiniu chronometru turiu omenyje tai, kas prasidėtų, kai paspausime pradžios mygtuką, ir sustotų, kai paspausime sustabdymo mygtuką.

Kažkas, kaip parodyta žemiau:

Atsisiųskite šį pagrindinį chronometrą iš „Excel“

Norėdami sukurti šį chronometrą „Excel“, turite žinoti apie Taikymas.Laiku metodas VBA.

Taikymas. Vienkartinis metodas VBA

Application.OnTime metodas gali būti naudojamas, kai ateityje norite paleisti nurodytą kodą. Pavyzdžiui, galite naudoti jį norėdami parodyti pranešimų langelį, primenantį jums atsikelti ir ištiesti kojas po 1 valandos arba išgerti vaistų po 3 valandų.

Taikymo sintaksė. „OnTime“ metodas:

Application.OnTime (Anksčiausias laikas, Procedūra, „LatestTime“, Tvarkaraštis)

  • EarliestTime: laikas, kai norite paleisti procedūrą.
  • Procedūra: procedūros, kuri turėtų būti vykdoma, pavadinimas.
  • „LatestTime“ (pasirenkama): jei veikia kitas kodas ir jūsų nurodyto kodo negalima paleisti nurodytu laiku, galite nurodyti „LatestTime“, kurio jis turėtų laukti. Pavyzdžiui, tai gali būti „EarliestTime + 45“ (tai reiškia, kad ji lauks 45 sekundes, kol bus baigta kita procedūra). Jei net po 45 sekundžių procedūra negali būti vykdoma, jos atsisakoma. Jei to nenurodysite, „Excel“ palauktų, kol bus galima paleisti kodą, ir paleis jį.
  • Tvarkaraštis (pasirinktinai): jei nustatyta „Tiesa“, ji suplanuoja naują laiko procedūrą. Jei klaidinga, tai atšaukia anksčiau nustatytą procedūrą. Pagal numatytuosius nustatymus tai yra tiesa.

„Application.OnTime“ metodo pavyzdys

Antrinis testas () Application.OnTime Now + TimeValue ("00:00:05"), "ShowMessage" Pabaiga Sub Show ShowMessage () MsgBox ("HELLO") Pabaiga

Pirmojoje makrokomandos dalyje naudojamas metodas „Application.OnTime“ ir po penkių sekundžių vykdoma procedūra „ShowMessage“ (dvigubomis kabutėmis). „ShowMessage“ procedūra tiesiog parodo pranešimų laukelį su raginimu HELLO.

Šį formatą galite naudoti norėdami atlikti bet kurią procedūrą po nurodyto laiko nuo dabartinio laiko.

Dabar, naudodamiesi šia koncepcija, pažvelkime į kodą, kaip sukurti paprastą chronometrą „Excel“.

Sumažinti „NextTick“ kaip datą, t kaip datos dalį „StartStopWatch“ () t = „Time Call StartTimer“ pabaiga „Sub StartTimer“ () „NextTick“ = „Time + TimeValue“ („00:00:01“) diapazonas („A1“). Vertė = formatas (NextTick - t - TimeValue ("00:00:01"), "hh: mm: ss") Application.OnTime NextTick, "StartTimer" Pabaigos poskyris StopTimer () On Error Resume Next Application.OnTime EarliestTime: = NextTick, Procedūra: = "StartTimer", tvarkaraštis: = False End Sub

Šis kodas susideda iš 3 dalių:

  • Pirmoje dalyje inicijuojamas dabartinis laikas kintamajam t. Tada ji iškviečia kitą procedūrą „StartTimer“.
  • „StartTimer“ procedūra naudoja kintamąjį „NextTick“, kuris kiekvieną sekundę padidinamas 1. Darbo lapo langelyje A1 yra veikimo laikmatis, kaip mes nurodėme „NextTick“ - t -TimeValue („00:00:01“), „hh: mm: ss“), kad būtų to langelio vertė. Po to kas sekundę jis vėl paleidžia „StartTimer“ kodą.
  • „StopTimer“ panaikina „Application.Ontime“ procedūrą, nustatydama tvarkaraščio reikšmę „False“. Tai sustabdo laikmatį.

Štai ką gausite naudodami aukščiau pateiktą kodą (makrokomandas priskyriau pradžios/sustabdymo mygtukams):

Tai yra pagrindinis „Excel“ chronometras.

Aš tai vadinu pagrindiniu, nes negalima sustoti viduryje ir pradėti iš naujo, kur palikote. Jis visada bus paleistas iš naujo, kai paspausite paleidimo mygtuką.

Dabar, kai išmokote „Application.OnTime“ metodo pagrindus, galite lengvai jį patobulinti, kad sukurtumėte bet kokį norimą chronometrą „Excel“.

Chronometras „Excel“ (skirtas „ToastMasters“)

Aš panaudojau aukščiau aptartą koncepciją ir sukūriau „Excel“ chronometrą, kurį galima naudoti „Toastmasters“ susitikime (kurį paminėjau šios pamokos pradžioje).

Štai ką galima padaryti naudojant šį chronometrą:

  • Galite sustabdyti laikmatį ir tada vėl paleisti iš to paties laiko (įrašytas iki to laiko).
  • Galite iš naujo nustatyti laikmatį. Tai nustatys laikmačio vertę į 0. Kai tik tai padarysite, jis automatiškai įrašys visą praleistą laiką.
  • Tai keičia laikmačio dėžutės spalvą, priklausomai nuo chronometro vertės (tai gali būti geras priminimas parodyti žalią/geltoną/raudoną kortelę).

Štai kaip tai atrodo:

Šioje demonstracijoje aš nustatiau spalvų keitimą kas penkias sekundes. Galite lengvai nurodyti, kada norite pakeisti spalvą (žalia kortelė - 1 minutę, geltona - 1,5 minutės, o raudona - 2 minutes), pakeisdami skaičiavimo lapo reikšmes.

Kai tik paspausite iš naujo nustatymo mygtuką, laikmačio spalva vėl taps balta, laikmačio vertė taps 0, o laikas bus įrašytas G stulpelyje.

Pastaba: kadangi šiuose failuose yra makrokomandos, prieš naudodami turėsite įgalinti makrokomandas. Atidarę darbaknygę pamatysite geltoną mygtuką - Įgalinti turinį. Spustelėkite jį, kad įgalintumėte makrokomandas.

Jei naudodami laikmatį sukuriate ką nors įdomaus, pasidalykite juo su manimi.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave