Hogar Redes sociales Cómo usar los eventos de OnTime y Keypress en Excel 2016 VBA - Dummies

Cómo usar los eventos de OnTime y Keypress en Excel 2016 VBA - Dummies

Tabla de contenido:

Video: enter vba in excell 2024

Video: enter vba in excell 2024
Anonim

Hay dos tipos de eventos que puede usar en la programación de VBA para Excel 2016 que no están asociados con objetos: tiempo y presionar teclas. Debido a que el tiempo y las pulsaciones de teclas no están asociados con un objeto en particular, como un libro de trabajo o una hoja de trabajo, usted programa estos eventos en un módulo VBA normal.

El evento OnTime

El evento OnTime ocurre cuando ocurre una hora del día en particular. El siguiente ejemplo muestra cómo hacer que Excel ejecute un procedimiento cuando el 3 p. metro. evento ocurre. En este caso, una voz de robot te pide que te despiertes, acompañado de un cuadro de mensaje:

Aplicación Sub SetAlarm (). OnTime 0. 625, "DisplayAlarm" End Sub Sub DisplayAlarm () Aplicación. Habla. Habla ("Oye, despiértate") MsgBox "¡Es hora de que pases la tarde! "End Sub

En este ejemplo, se usa el método OnTime del objeto Application. Este método toma dos argumentos: el tiempo (0. 625 o 3: 00 p. M.) Y el nombre del procedimiento Sub para ejecutar cuando se produce el evento de tiempo (DisplayAlarm).

Este procedimiento es bastante útil si tiende a estar tan involucrado en su trabajo que se olvida de las reuniones y citas. Simplemente configure un evento OnTime para recordarse a sí mismo.

A la mayoría de las personas les resulta difícil pensar en el tiempo en términos del sistema de numeración Excel. Por lo tanto, es posible que desee utilizar la función VBA TimeValue para representar la hora. TimeValue convierte una cadena que parece un tiempo en un valor que Excel puede manejar. La siguiente declaración muestra una forma más fácil de programar un evento para 3 p. metro.:

Aplicación. OnTime TimeValue ("3: 00: 00 pm"), "DisplayAlarm"

Si desea programar un evento relativo a la hora actual (por ejemplo, dentro de 20 minutos), puede usar una declaración como esta: < Solicitud. OnTime Now + TimeValue ("00: 20: 00"), "DisplayAlarm"

También puede usar el método OnTime para ejecutar un procedimiento de VBA en un día en particular. Debe asegurarse de que su computadora siga funcionando y que el libro de trabajo con el procedimiento se mantenga abierto. La siguiente instrucción ejecuta el procedimiento DisplayAlarm en 5 p. metro. el 31 de diciembre de 2016:

Solicitud. OnTime DateValue ("31/12/2016 5: 00 pm"), "DisplayAlarm"

Esta línea de código particular podría ser útil para advertirle que debe irse a casa y prepararse para las festividades de Nochevieja.

Aquí hay otro ejemplo que usa el evento OnTime. La ejecución de los procedimientos de UpdateClock escribe la hora en la celda A1 y también programa otro evento cinco segundos después.Este evento vuelve a ejecutar el procedimiento UpdateClock. El efecto neto es que la celda A1 se actualiza con la hora actual cada cinco segundos. Para detener los eventos, ejecute el procedimiento StopClock (que cancela el evento). Tenga en cuenta que NextTick es una variable a nivel de módulo que almacena la hora para el próximo evento.

Dim NextTick As Date Sub UpdateClock () 'Actualiza la celda A1 con la hora actual ThisWorkbook. Hojas (1). Rango ("A1") = Tiempo 'Configure el siguiente evento en cinco segundos a partir de ahora NextTick = Now + TimeValue ("00: 00: 05") Aplicación. OnTime NextTick, "UpdateClock" End Sub Sub StopClock () 'Cancela el evento OnTime (detiene el reloj) En caso de error, reanuda la siguiente aplicación. OnTime NextTick, "UpdateClock", False End Sub

El evento de OnTime persiste incluso después de que el libro de trabajo está cerrado. En otras palabras, si cierra el libro de trabajo sin ejecutar el procedimiento StopClock, el libro de trabajo se volverá a abrir en cinco segundos (suponiendo que Excel aún se esté ejecutando). Para evitar esto, utilice un procedimiento de evento Workbook_BeforeClose que contenga la siguiente instrucción:

Call StopClock

El método OnTime tiene dos argumentos adicionales. Si planea usar este método, debe consultar el sistema de Ayuda para obtener detalles completos.

Si desea ver una aplicación bastante complicada, consulte esta aplicación de reloj analógico. La esfera del reloj es en realidad una tabla, y la tabla se actualiza cada segundo para mostrar la hora del día. Inútil, pero divertido.

Una aplicación de reloj analógico.

Eventos de pulsación de tecla

Mientras trabaja, Excel monitorea constantemente lo que escribe. Debido a esto, puede configurar las cosas para que una combinación de teclas y teclas ejecute un procedimiento.

Aquí hay un ejemplo que reasigna las teclas PgDn y PgUp:

Aplicación Sub Setup_OnKey (). Aplicación OnKey "{PgDn}", "PgDn_Sub". OnKey "{PgUp}", "PgUp_Sub" End Sub Sub PgDn_Sub () On Error Resume Next ActiveCell. Desplazamiento (1, 0). Activar End Sub Sub PgUp_Sub () On Error Resume Next ActiveCell. Desplazamiento (-1, 0). Activar End Sub

Después de configurar los eventos OnKey ejecutando el procedimiento Setup_OnKey, presionar PgDn lo mueve hacia abajo una fila. Al presionar RePág sube una fila.

Observe que los códigos de las teclas están entre llaves, no entre paréntesis. Para obtener una lista completa de códigos de teclado, consulte el sistema de Ayuda. Busque

OnKey. En este ejemplo, On Error Resume Next se usa para ignorar cualquier error que se genere. Por ejemplo, si la celda activa está en la primera fila, al intentar avanzar una fila se produce un error que puede ignorarse de manera segura. Y si una hoja de gráfico está activa, no hay una celda activa.

Al ejecutar la siguiente rutina, cancela los eventos de OnKey:

Solicitud de Sub Cancelar_OnKey (). Aplicación OnKey "{PgDn}". OnKey "{PgUp}" End Sub

El uso de una cadena vacía como segundo argumento para el método OnKey hace que

no cancele el evento OnKey. Por el contrario, hace que Excel simplemente ignore la pulsación de tecla. Por ejemplo, la siguiente instrucción le dice a Excel que ignore Alt + F4. El signo de porcentaje representa la tecla Alt: Aplicación.OnKey "% {F4}", ""

Aunque puede usar el método OnKey para asignar una tecla de método abreviado para ejecutar una macro, debe usar el cuadro de diálogo Opciones de macro para esta tarea.

Si cierra el libro que contiene el código y deja Excel abierto, el método OnKey no se restablecerá. Como consecuencia, al presionar la tecla de método abreviado, Excel abrirá automáticamente el archivo con la macro. Para evitar que esto suceda, debe incluir código en su código de evento Workbook_BeforeClose para restablecer el evento OnKey.

Cómo usar los eventos de OnTime y Keypress en Excel 2016 VBA - Dummies

Selección del editor

Recorrer el espacio de trabajo de InDesign CS5: variables ficticias

Recorrer el espacio de trabajo de InDesign CS5: variables ficticias

Adobe InDesign Creative Suite 5 o interfaz de usuario es eficiente e intuitiva diseñado. Al igual que las otras aplicaciones CS5, InDesign tiene un diseño estandarizado. InDesign CS5workspace que se muestra aquí es como se ve en un Macintosh. El espacio de trabajo de Windows es ligeramente diferente de la versión de Macintosh. Notará una diferencia en el menú principal ...

Recorrer el espacio de trabajo de InDesign: variables ficticias

Recorrer el espacio de trabajo de InDesign: variables ficticias

Al igual que otras aplicaciones en Creative Cloud, InDesign tiene un diseño estandarizado. Con paneles que se pueden acoplar y un panel de herramientas de una sola fila, puede mantener mucho más espacio abierto en su área de trabajo. El espacio de trabajo de InDesign, o la interfaz de usuario, incluye una gran cantidad de herramientas y paneles, pero la mayoría de los usuarios usa ...

Thread y Link InDesign CS5 Text Frames - dummies

Thread y Link InDesign CS5 Text Frames - dummies

Link (thread) un marco de texto a otros fotogramas en un Publicación InDesign Creative Suite 5 para que el texto pueda fluir entre ellos. El subprocesamiento es útil para la mayoría de los diseños porque no siempre se puede incluir todo el texto en un solo cuadro. Fluir: Coloca el texto comenzando en un cuadro y continuando a cuadros adicionales. Enhebrado: enlace de texto ...

Selección del editor

Código de uso común en desarrollo de aplicaciones Android: dummies

Código de uso común en desarrollo de aplicaciones Android: dummies

"Mi aplicación necesita un receptor de difusión. ¿Alguien puede recordarme cómo puedo codificar un receptor de difusión? Y mientras lo hace, ¿cómo devuelve una actividad el resultado? Oh, diablos. ¿Dónde puedo encontrar todo eso rápidamente? "Tener ejemplos del tipo de código utilizado en el desarrollo de aplicaciones de Android listas para usar puede ser ...

Cómo agregar métodos a las clases existentes en el desarrollo de aplicaciones iOS - Dummies

Cómo agregar métodos a las clases existentes en el desarrollo de aplicaciones iOS - Dummies

Curiosamente , Objective-C te permite agregar tus propios métodos a clases existentes en una aplicación iOS, incluso aquellas clases que no has escrito. Agregar métodos adicionales a una clase es útil en una situación donde el nuevo comportamiento se usa solo en ciertas situaciones. Como ejemplo, puede encontrar que una aplicación en particular ...

Cómo agregar métodos a clases existentes en el desarrollo de aplicaciones iOS - Dummies

Cómo agregar métodos a clases existentes en el desarrollo de aplicaciones iOS - Dummies

En El desarrollo de aplicaciones iOS, Objective-C le permite agregar sus propios métodos a las clases existentes, incluso aquellas clases que no ha escrito. Agregar métodos adicionales a una clase es útil en una situación donde el nuevo comportamiento se usa solo en ciertas situaciones. Como ejemplo, puede encontrar una aplicación en particular (por ejemplo, ...

Selección del editor

ÁNgulos coincidentes con los temas de alimentos en la fotografía de alimentos: maniquíes

ÁNgulos coincidentes con los temas de alimentos en la fotografía de alimentos: maniquíes

Utilizando ángulos al capturar sujetos de alimentos en la fotografía de alimentos proporcione una apariencia diferente para sus imágenes. La clave es jugar con los diferentes ángulos y luego enfocarse en la comida. Algunos ángulos se ven mucho más apetitosos que otros, pero esto varía de un alimento a otro.

Maximiza la ampliación con sujetos pequeños: dummies

Maximiza la ampliación con sujetos pequeños: dummies

El universo parece proporcionar capas de detalles, desde la galaxia hasta el solar sistema, a las montañas, a los árboles, a los animales, a los insectos, y a las bacterias y células, a los átomos y más allá. La fotografía puede capturar la información provista en esas varias capas. Qué tan abajo en la escala ...

Metro con su cámara en fotografía HDR - Dummies

Metro con su cámara en fotografía HDR - Dummies

Utilizando una estrategia de horquillado preconcebida en alto rango dinámico (HDR) la fotografía funciona bien, pero la desventaja es no saber si realmente estás capturando el rango dinámico completo de la escena con los corchetes (si prestas atención a un histograma en vivo, estás más cerca de saber). Un enfoque más estudioso depende de la medición de altas y bajas ...