Kako koristiti OnTime događaje i događaje pritiska na tipku u Excel 2016 VBA

Postoje dvije vrste događaja koje možete koristiti u VBA programiranju za Excel 2016 koji nisu povezani s objektima: vrijeme i pritisci tipki. Budući da vrijeme i pritisci na tipke nisu povezani s određenim objektom kao što je radna knjiga ili radni list, te događaje programirate u normalnom VBA modulu.

Događaj OnTime

Događaj OnTime događa se kada se pojavi određeno doba dana. Sljedeći primjer pokazuje kako natjerati Excel da izvrši proceduru kada se dogodi događaj u 15 sati. U ovom slučaju, robotski glas govori da se probudite, popraćen okvirom za poruku:

PodsetAlarm()
  Application.OnTime 0.625, "DisplayAlarm"
Kraj Sub
Sub DisplayAlarm()
  Application.Speech.Speak ("Hej, probudi se")
  MsgBox “ Vrijeme je za popodnevni odmor!”
Kraj Sub

U ovom primjeru koristi se metoda OnTime objekta Application. Ova metoda uzima dva argumenta: vrijeme (0,625 ili 15:00) i naziv potprocedure za izvršenje kada dođe do vremenskog događaja (DisplayAlarm).

Ovaj je postupak vrlo koristan ako ste se toliko zaokupili poslom da zaboravite na sastanke i sastanke. Samo postavite događaj OnTime da se podsjetite.

Većina ljudi smatra da je teško razmišljati o vremenu u smislu Excel sustava numeriranja. Stoga biste možda željeli koristiti funkciju VBA TimeValue za predstavljanje vremena. TimeValue pretvara niz koji izgleda kao vrijeme u vrijednost koju Excel može podnijeti. Sljedeća izjava pokazuje lakši način programiranja događaja za 15 sati:

Application.OnTime TimeValue(“3:00:00 pm”), “DisplayAlarm”

Ako želite zakazati događaj u odnosu na trenutačno vrijeme (na primjer, 20 minuta od sada), možete koristiti izjavu poput ove:

Application.OnTime Now + TimeValue(“00:20:00”), “DisplayAlarm”

Također možete koristiti metodu OnTime za pokretanje VBA procedure određenog dana. Morate biti sigurni da vaše računalo nastavlja raditi i da je radna knjiga s postupkom otvorena. Sljedeća izjava pokreće DisplayAlarm proceduru u 17 sati 31. prosinca 2016.:

Application.OnTime DateValue(“31.12.2016 17:00”), “DisplayAlarm”

Ova konkretna linija koda mogla bi vam dobro doći da vas upozori da se morate vratiti kući i pripremiti se za novogodišnje svečanosti.

Evo još jednog primjera koji koristi događaj OnTime. Izvođenje procedure UpdateClock zapisuje vrijeme u ćeliju A1 i također programira drugi događaj pet sekundi kasnije. Ovaj događaj ponovno pokreće proceduru UpdateClock. Neto učinak je da se ćelija A1 ažurira trenutnim vremenom svakih pet sekundi. Da biste zaustavili događaje, izvršite proceduru StopClock (koja poništava događaj). Imajte na umu da je NextTick varijabla na razini modula koja pohranjuje vrijeme za sljedeći događaj.

Zatamnite sljedeću oznaku kao datum
Sub UpdateClock()
' Ažurira ćeliju A1 s trenutnim vremenom
  Ova radna knjiga. Listovi (1). Raspon (“A1”) = Vrijeme
' Postavite sljedeći događaj za pet sekundi
  NextTick = Sada + TimeValue(“00:00:05”)
  Application.OnTime NextTick, "UpdateClock"
Kraj Sub
Sub StopClock()
' Otkazuje događaj OnTime (zaustavlja sat)
  U slučaju pogreške Nastavi dalje
  Application.OnTime NextTick, "UpdateClock", , False
Kraj Sub

Događaj OnTime traje čak i nakon zatvaranja radne knjige. Drugim riječima, ako zatvorite radnu knjigu bez pokretanja procedure StopClock, radna će se knjiga ponovno otvoriti za pet sekundi (pod pretpostavkom da je Excel još uvijek pokrenut). Da biste to spriječili, koristite proceduru događaja Workbook_BeforeClose koja sadrži sljedeću izjavu:

Pozovite StopClock

Metoda OnTime ima dva dodatna argumenta. Ako namjeravate koristiti ovu metodu, trebali biste se obratiti sustavu pomoći za potpune detalje.

Ako želite vidjeti prilično kompliciranu aplikaciju, pogledajte ovu aplikaciju za analogni sat. Brojač sata je zapravo grafikon, a grafikon se ažurira svake sekunde kako bi prikazao doba dana. Beskorisno, ali zabavno.

Kako koristiti OnTime događaje i događaje pritiska na tipku u Excel 2016 VBA

Aplikacija za analogni sat.

Događaji pritiska na tipku

Dok radite, Excel stalno prati što upisujete. Zbog toga možete postaviti stvari tako da pritisak na tipku ili kombinacija tipki izvrši proceduru.

Evo primjera koji ponovno dodjeljuje tipke PgDn i PgUp:

Sub Setup_OnKey()
  Application.OnKey “{PgDn}”, “PgDn_Sub”
  Application.OnKey “{PgUp}”, “PgUp_Sub”
Kraj Sub
Sub PgDn_Sub()
  U slučaju pogreške Nastavi dalje
  ActiveCell.Offset(1, 0).Aktiviraj
Kraj Sub
Sub PgUp_Sub()
  U slučaju pogreške Nastavi dalje
  ActiveCell.Offset(-1, 0).Aktiviraj
Kraj Sub

Nakon postavljanja OnKey događaja izvođenjem postupka Setup_OnKey, pritiskom na PgDn pomičete se za jedan redak prema dolje. Pritiskom na PgUp pomičete se za jedan red gore.

Primijetite da su šifre ključeva zatvorene u zagradama, a ne u zagradama. Za potpuni popis kodova tipkovnice pogledajte sustav pomoći. Potražite OnKey.

U ovom primjeru, On Error Resume Next koristi se za zanemarivanje svih generiranih pogrešaka. Na primjer, ako je aktivna ćelija u prvom retku, pokušaj pomicanja za jedan red gore uzrokuje pogrešku koja se može sigurno zanemariti. A ako je list grafikona aktivan, nema aktivne ćelije.

Izvođenjem sljedeće rutine otkazujete OnKey događaje:

Pod Cancel_OnKey()
  Application.OnKey "{PgDn}"
  Application.OnKey "{PgUp}"
Kraj Sub

Korištenje praznog niza kao drugog argumenta za metodu OnKey ne poništava događaj OnKey. Umjesto toga, to uzrokuje da Excel jednostavno ignorira pritisak na tipku. Na primjer, sljedeća izjava govori Excelu da zanemari Alt+F4. Znak postotka predstavlja tipku Alt:

  Application.OnKey “%{F4}”, ““

Iako možete koristiti metodu OnKey za dodjelu tipke prečaca za izvršavanje makronaredbe, za ovaj zadatak trebate koristiti dijaloški okvir Mogućnosti makroa.

Ako zatvorite radnu knjigu koja sadrži kod i ostavite Excel otvoren, metoda OnKey neće se resetirati. Kao posljedica toga, pritiskom na tipku prečaca Excel će automatski otvoriti datoteku s makronaredbom. Kako biste spriječili da se to dogodi, trebali biste uključiti kod u svoj Workbook_BeforeClose kod događaja kako biste resetirali događaj OnKey.


Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows

Kako blokirati Microsoft Word da otvara datoteke u načinu rada samo za čitanje u sustavu Windows Microsoft Word otvara datoteke u načinu rada samo za čitanje, što onemogućuje njihovo uređivanje? Ne brinite, metode su navedene u nastavku

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogrešan ispis Microsoft Word dokumenata

Kako popraviti pogreške u ispisu netočnih Microsoft Word dokumenata Pogreške u ispisu Word dokumenata s promijenjenim fontovima, neurednim odlomcima, nedostajućim tekstom ili izgubljenim sadržajem vrlo su česte. Međutim, nemojte

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Izbrišite crteže olovkom i markerom na svojim PowerPoint slajdovima

Ako ste upotrijebili olovku ili marker za crtanje na PowerPoint slajdovima tijekom prezentacije, možete spremiti crteže za sljedeću prezentaciju ili ih izbrisati tako da ćete sljedeći put kada ih pokažete početi s čistim PowerPoint slajdovima. Slijedite ove upute za brisanje crteža olovkom i markerom: Brisanje linija jedan na […]

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Sadržaj biblioteke stilova u sustavu SharePoint 2010

Biblioteka stilova sadrži CSS datoteke, datoteke Extensible Stylesheet Language (XSL) i slike koje koriste unaprijed definirane glavne stranice, izgledi stranica i kontrole u SharePointu 2010. Da biste locirali CSS datoteke u biblioteci stilova web-mjesta za objavljivanje: Odaberite Radnje web-mjesta→Prikaz Sav sadržaj web-mjesta. Pojavljuje se sadržaj stranice. Knjižnica Style nalazi se u […]

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Formatirajte brojeve u tisućama i milijunima u Excel izvješćima

Nemojte zatrpavati svoju publiku ogromnim brojevima. U Microsoft Excelu možete poboljšati čitljivost svojih nadzornih ploča i izvješća formatiranjem brojeva tako da se prikazuju u tisućama ili milijunima.

Kako dijeliti i pratiti SharePoint web-mjesta

Kako dijeliti i pratiti SharePoint web-mjesta

Naučite kako koristiti SharePointove alate za društveno umrežavanje koji pojedincima i grupama omogućuju komunikaciju, suradnju, dijeljenje i povezivanje.

Kako pretvoriti datume u julijanske formate u Excelu

Kako pretvoriti datume u julijanske formate u Excelu

Julijanski datumi se često koriste u proizvodnim okruženjima kao vremenska oznaka i brza referenca za broj serije. Ova vrsta datumskog kodiranja omogućuje trgovcima na malo, potrošačima i uslužnim agentima da identificiraju kada je proizvod napravljen, a time i starost proizvoda. Julijanski datumi se također koriste u programiranju, vojsci i astronomiji. Drugačiji […]

Kako stvoriti Access web aplikaciju

Kako stvoriti Access web aplikaciju

Možete izraditi web-aplikaciju u Accessu 2016. Dakle, što je uopće web-aplikacija? Pa, web znači da je online, a aplikacija je samo skraćenica za "aplikaciju". Prilagođena web-aplikacija je online aplikacija baze podataka kojoj se pristupa iz oblaka pomoću preglednika. Vi gradite i održavate web-aplikaciju u verziji za stolna računala […]

Traka za brzo pokretanje u sustavu SharePoint 2010

Traka za brzo pokretanje u sustavu SharePoint 2010

Većina stranica u sustavu SharePoint 2010 prikazuje popis navigacijskih veza na traci za brzo pokretanje na lijevoj strani stranice. Traka za brzo pokretanje prikazuje veze na istaknuti sadržaj web-mjesta kao što su popisi, knjižnice, web-mjesta i stranice za objavljivanje. Traka za brzo pokretanje uključuje dvije vrlo važne veze: vezu za sav sadržaj web-mjesta: […]

Što znače poruke o greškama Solvera u Excelu?

Što znače poruke o greškama Solvera u Excelu?

Za jednostavne probleme, Solver u Excelu obično brzo pronalazi optimalne vrijednosti varijable Solvera za funkciju cilja. No, u nekim slučajevima, Solver ima problema s pronalaženjem vrijednosti varijable Solvera koje optimiziraju funkciju cilja. U tim slučajevima, Solver obično prikazuje poruku ili poruku o pogrešci koja opisuje ili raspravlja o problemu koji […]