Com utilitzar els esdeveniments OnTime i els esdeveniments de premsa de tecles a Excel 2016 VBA

Hi ha dos tipus d'esdeveniments que podeu utilitzar a la programació de VBA per a Excel 2016 que no estan associats amb objectes: temps i prems de tecles. Com que el temps i les pulsacions de tecles no estan associats amb un objecte concret, com ara un llibre o un full de treball, programeu aquests esdeveniments en un mòdul VBA normal.

L'esdeveniment OnTime

L'esdeveniment OnTime es produeix quan es produeix una determinada hora del dia. L'exemple següent mostra com aconseguir que Excel executi un procediment quan es produeix l'esdeveniment de les 15:00. En aquest cas, una veu de robot us diu que us desperteu, acompanyada d'un missatge:

Sub SetAlarm()
  Application.OnTime 0.625, "DisplayAlarm"
End Sub
Sub DisplayAlarm()
  Application.Speech.Speak ("Ei, desperta")
  MsgBox "És l'hora del descans de la tarda!"
End Sub

En aquest exemple, s'utilitza el mètode OnTime de l'objecte Aplicació. Aquest mètode pren dos arguments: l'hora (0,625 o 3:00 pm) i el nom del procediment Sub que s'executa quan es produeix l'esdeveniment horari (DisplayAlarm).

Aquest procediment és molt útil si tendeix a estar tan embolicat en la vostra feina que us oblideu de reunions i cites. Només has de configurar un esdeveniment OnTime per recordar-te.

A la majoria de la gent li costa pensar en el temps en termes del sistema de numeració Excel. Per tant, és possible que vulgueu utilitzar la funció TimeValue de VBA per representar l'hora. TimeValue converteix una cadena que sembla un temps en un valor que Excel pot gestionar. La següent declaració mostra una manera més fàcil de programar un esdeveniment per a les 3 de la tarda:

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

Si voleu programar un esdeveniment en relació a l'hora actual (per exemple, d'aquí a 20 minuts), podeu utilitzar una declaració com aquesta:

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

També podeu utilitzar el mètode OnTime per executar un procediment VBA en un dia concret. Heu d'assegurar-vos que el vostre ordinador segueix funcionant i que el llibre de treball amb el procediment es manté obert. La declaració següent executa el procediment DisplayAlarm a les 5 de la tarda del 31 de desembre de 2016:

Application.OnTime DateValue ("31/12/2016 17:00"), "DisplayAlarm"

Aquesta línia de codi en particular pot ser útil per advertir-vos que heu d'anar a casa i preparar-vos per a les festes de Cap d'Any.

Aquí hi ha un altre exemple que utilitza l'esdeveniment OnTime. L'execució dels procediments UpdateClock escriu l'hora a la cel·la A1 i també programa un altre esdeveniment cinc segons més tard. Aquest esdeveniment torna a executar el procediment UpdateClock. L'efecte net és que la cel·la A1 s'actualitza amb l'hora actual cada cinc segons. Per aturar els esdeveniments, executeu el procediment StopClock (que cancel·la l'esdeveniment). Tingueu en compte que NextTick és una variable de nivell de mòdul que emmagatzema l'hora del següent esdeveniment.

Dim NextMarqueu com a data
Sub UpdateClock()
' Actualitza la cel·la A1 amb l'hora actual
  ThisWorkbook.Sheets(1).Range(“A1”) = Temps
Configura el següent esdeveniment d'aquí a cinc segons
  NextTick = Ara + TimeValue ("00:00:05")
  Application.OnTime NextTick, "Actualitzar rellotge"
End Sub
Sub StopClock ()
' Cancel·la l'esdeveniment OnTime (atura el rellotge)
  En cas d'error Reprèn Següent
  Application.OnTime NextTick, "UpdateClock", , False
End Sub

L'esdeveniment OnTime persisteix fins i tot després de tancar el llibre de treball. En altres paraules, si tanqueu el llibre de treball sense executar el procediment StopClock, el llibre de treball es tornarà a obrir en cinc segons (suposant que Excel encara s'està executant). Per evitar-ho, utilitzeu un procediment d'esdeveniment Workbook_BeforeClose que contingui la instrucció següent:

Truqueu a StopClock

El mètode OnTime té dos arguments addicionals. Si teniu previst utilitzar aquest mètode, hauríeu de consultar el sistema d'ajuda per obtenir els detalls complets.

Si voleu veure una aplicació força complicada, consulteu aquesta aplicació de rellotge analògic. La cara del rellotge és en realitat un gràfic, i el gràfic s'actualitza cada segon per mostrar l'hora del dia. Inútil, però divertit.

Com utilitzar els esdeveniments OnTime i els esdeveniments de premsa de tecles a Excel 2016 VBA

Una aplicació de rellotge analògic.

Esdeveniments de premsa de tecles

Mentre treballeu, Excel supervisa constantment el que escriviu. Per això, podeu configurar les coses perquè una tecla o una combinació de tecles executi un procediment.

Aquí teniu un exemple que reasigna les tecles PgDn i PgUp:

Sub Setup_OnKey()
  Aplicació.OnKey “{PgDn}”, “PgDn_Sub”
  Aplicació.OnKey “{PgUp}”, “PgUp_Sub”
End Sub
Sub PgDn_Sub()
  En cas d'error Reprèn Següent
  ActiveCell.Offset(1, 0).Activar
End Sub
Sub PgUp_Sub()
  En cas d'error Reprèn Següent
  ActiveCell.Offset(-1, 0).Activar
End Sub

Després de configurar els esdeveniments OnKey executant el procediment Setup_OnKey, prement PgDn us mou una fila cap avall. Si premeu PgUp, us mourà una fila cap amunt.

Tingueu en compte que els codis clau es troben entre claus, no entre parèntesis. Per obtenir una llista completa dels codis del teclat, consulteu el sistema d'ajuda. Cerca OnKey.

En aquest exemple, On Error Resume Next s'utilitza per ignorar els errors que es generin. Per exemple, si la cel·la activa es troba a la primera fila, intentar moure una fila cap amunt provoca un error que es pot ignorar amb seguretat. I si un full de gràfic està actiu, no hi ha cap cel·la activa.

En executar la rutina següent, cancel·leu els esdeveniments OnKey:

Sub Cancel_OnKey()
  Application.OnKey “{PgDn}”
  Application.OnKey “{PgUp}”
End Sub

L'ús d'una cadena buida com a segon argument per al mètode OnKey no cancel·la l'esdeveniment OnKey. Més aviat, fa que Excel simplement ignori la pulsació de tecla. Per exemple, la declaració següent indica a Excel que ignori Alt+F4. El signe de percentatge representa la tecla Alt:

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

Tot i que podeu utilitzar el mètode OnKey per assignar una tecla de drecera per executar una macro, hauríeu d'utilitzar el quadre de diàleg Opcions de macro per a aquesta tasca.

Si tanqueu el llibre de treball que conté el codi i deixeu Excel obert, el mètode OnKey no es restablirà. Com a conseqüència, si premeu la tecla de drecera, Excel obri automàticament el fitxer amb la macro. Per evitar que això passi, hauríeu d'incloure codi al codi d'esdeveniment Workbook_BeforeClose per restablir l'esdeveniment OnKey.


Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word dobrir fitxers en mode només de lectura a Windows

Com bloquejar Microsoft Word d'obrir fitxers en mode de només lectura a Windows Microsoft Word obre fitxers en mode de només lectura, cosa que fa que sigui impossible editar-los? No us preocupeu, els mètodes es mostren a continuació

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com solucionar la impressió incorrecta de documents de Microsoft Word

Com corregir errors en imprimir documents incorrectes de Microsoft Word Els errors en imprimir documents de Word amb tipus de lletra canviats, paràgrafs desordenats, falta de text o contingut perdut són força habituals. No obstant això, no

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Esborra els dibuixos de llapis i ressaltats a les teves diapositives de PowerPoint

Si heu utilitzat el llapis o el marcador per dibuixar a les vostres diapositives de PowerPoint durant una presentació, podeu desar els dibuixos per a la següent presentació o esborrar-los de manera que la propera vegada que el mostreu, començareu amb diapositives de PowerPoint netes. Seguiu aquestes instruccions per esborrar dibuixos a llapis i ressaltadors: Esborrant línies una a […]

Contingut de la biblioteca destils a SharePoint 2010

Contingut de la biblioteca destils a SharePoint 2010

La biblioteca d'estils conté fitxers CSS, fitxers de llenguatge de full d'estil extensible (XSL) i imatges utilitzades per pàgines mestres predefinides, dissenys de pàgina i controls a SharePoint 2010. Per localitzar fitxers CSS a la biblioteca d'estils d'un lloc de publicació: Trieu Accions del lloc→Visualitza Tot el contingut del lloc. Apareix el contingut del lloc. La biblioteca d'estil es troba a […]

Formateu els números en milers i milions als informes dExcel

Formateu els números en milers i milions als informes dExcel

No desbordeu el vostre públic amb números gigantesques. A Microsoft Excel, podeu millorar la llegibilitat dels vostres taulers i informes formatant els vostres números perquè apareguin en milers o milions.

Com compartir i seguir els llocs de SharePoint

Com compartir i seguir els llocs de SharePoint

Apreneu a utilitzar les eines de xarxes socials de SharePoints que permeten a persones i grups comunicar-se, col·laborar, compartir i connectar-se.

Com convertir les dates a formats Julian a Excel

Com convertir les dates a formats Julian a Excel

Les dates julianes s'utilitzen sovint en entorns de fabricació com a marca de temps i referència ràpida per a un número de lot. Aquest tipus de codificació de dates permet als minoristes, consumidors i agents de serveis identificar quan es va fabricar un producte i, per tant, l'antiguitat del producte. Les dates julianes també s'utilitzen en programació, militars i astronomia. Diferents […]

Com crear una aplicació web daccés

Com crear una aplicació web daccés

Podeu crear una aplicació web a Access 2016. Què és, de totes maneres, una aplicació web? Bé, web vol dir que està en línia i l'aplicació és només una abreviatura de "aplicació". Una aplicació web personalitzada és una aplicació de base de dades en línia a la qual s'accedeix des del núvol mitjançant un navegador. Creeu i manteniu l'aplicació web a la versió d'escriptori […]

Barra dinici ràpid a SharePoint 2010

Barra dinici ràpid a SharePoint 2010

La majoria de les pàgines del SharePoint 2010 mostren una llista d'enllaços de navegació a la barra d'inici ràpid al costat esquerre de la pàgina. La barra d'inici ràpid mostra enllaços al contingut del lloc destacat, com ara llistes, biblioteques, llocs i pàgines de publicació. La barra d'inici ràpid inclou dos enllaços molt importants: Enllaç de tot el contingut del lloc: el […]

Què signifiquen els missatges derror del solucionador a Excel?

Què signifiquen els missatges derror del solucionador a Excel?

Per a problemes senzills, Solver a Excel sol trobar ràpidament els valors òptims de la variable Solver per a la funció objectiu. Però, en alguns casos, Solver té problemes per trobar els valors de la variable Solver que optimitzen la funció objectiu. En aquests casos, Solver normalment mostra un missatge o un missatge d'error que descriu o discuteix el problema que […]