社交媒体 如何在Excel 2016中使用OnTime事件和按键事件VBA - 傻瓜

如何在Excel 2016中使用OnTime事件和按键事件VBA - 傻瓜

目录:

视频: Excel 基礎教學 01:Excel 入門 2024

视频: Excel 基礎教學 01:Excel 入門 2024
Anonim

您可以在Excel 2016的VBA编程中使用两种不与对象关联的事件类型:时间和按键。由于时间和按键不与特定的对象(例如工作簿或工作表)关联,因此您可以在正常的VBA模块中编程这些事件。

OnTime事件

OnTime事件发生在一天的特定时间。下面的示例演示如何让Excel执行一个过程,当3 p。米事件发生。在这种情况下,机器人的声音告诉你醒来,伴随着一个消息框:

<! --1 - >
Sub SetAlarm()应用程序。 OnTime 0. 625,“DisplayAlarm”End Sub Sub DisplayAlarm()Application。言语。说话(“嗨,醒来”)MsgBox“你的下午休息时间了! “End Sub

在这个例子中,使用Application对象的OnTime方法。该方法有两个参数:时间(0.625或3:00)和发生时间事件(DisplayAlarm)时要执行的Sub过程的名称。

<! - 2 - >

如果你的工作经常被忘记会议和约会,这个过程是非常有用的。只需设置一个OnTime事件来提醒自己。

大多数人发现很难用Excel编号系统来思考时间。因此,您可能需要使用VBA TimeValue函数来表示时间。 TimeValue将看起来像时间的字符串转换为Excel可以处理的值。下面的语句显示了一个更简单的方法来编程一个3 p的事件。米:

中的应用。 OnTime TimeValue(“3:00:00 pm”),“DisplayAlarm”

如果你想安排一个相对于当前时间的事件(例如,从现在起20分钟),你可以使用如下语句: 应用程序。 OnTime Now + TimeValue(“00:20:00”),“DisplayAlarm”

您还可以使用OnTime方法在特定的一天运行VBA过程。您必须确保您的计算机始终处于运行状态,并且该过程的工作簿保持打开状态。以下语句在5 p处运行DisplayAlarm过程。米于2016年12月31日:

申请。 OnTime DateValue(“12/31/2016 5:00 pm”),“DisplayAlarm”

这个特定的代码行可以派上用场,告诫你需要回家准备迎接除夕庆祝活动。

这是另一个使用OnTime事件的例子。执行UpdateClock过程将时间写入单元格A1,并在五秒钟后编写另一个事件。此事件重新运行UpdateClock过程。最终结果是单元格A1每五秒更新一次当前时间。要停止事件,请执行StopClock过程(取消事件)。请注意,NextTick是一个模块级变量,用于存储下一个事件的时间。

Dim NextTick As Date Sub UpdateClock()'用当前时间ThisWorkbook更新单元格A1。片材(1)。范围(“A1”)=时间“从现在起五秒钟设置下一个事件NextTick = Now + TimeValue(”00:00:05“)应用程序。 OnTime NextTick“UpdateClock”End Sub Sub StopClock()取消OnTime事件(停止时钟)On Error Resume Next Application。 OnTime NextTick,“UpdateClock”,False End Sub

即使在工作簿关闭后,OnTime事件仍然存在。换句话说,如果关闭工作簿而不运行StopClock过程,工作簿将在五秒内重新打开(假定Excel仍在运行)。要防止这,请使用包含以下语句的Workbook_BeforeClose事件过程:

Call StopClock

OnTime方法有两个附加参数。如果您打算使用此方法,则应参阅帮助系统以获取完整的详细信息。

如果你想看到一个相当复杂的应用程序,看看这个模拟时钟应用程序。钟面实际上是一个图表,图表每秒更新一次以显示一天的时间。没用,但有趣。一个模拟时钟应用程序。

按键事件

在您工作时,Excel不断监视您输入的内容。正因为如此,你可以设置一些按键或组合键来执行一个程序。

下面是一个重新分配PgDn和PgUp键的示例:

Sub Setup_OnKey()Application。 OnKey“{PgDn}”,“PgDn_Sub”应用程序。 OnKey“{PgUp}”,“PgUp_Sub”End Sub Sub PgDn_Sub()On Error Resume Next ActiveCell。偏移(1,0)。激活结束Sub Sub PgUp_Sub()错误恢复下一个ActiveCell。偏移量(-1,0)。 Activate End Sub

通过执行Setup_OnKey过程设置OnKey事件后,按下PgDn将向下移动一行。按PgUp可以向上移动一行。

请注意,键代码括在括号中,而不是括号中。有关键盘代码的完整列表,请查阅帮助系统。搜索

OnKey。

在这个例子中,On Error Resume Next用于忽略所有生成的错误。例如,如果活动单元格位于第一行,则尝试向上移动一行会导致可安全忽略的错误。如果图表工作正常,则没有活动的单元格。 执行以下例程,取消OnKey事件:

Sub Cancel_OnKey()Application。 OnKey“{PgDn}”应用程序。 OnKey“{PgUp}”End Sub

使用空字符串作为OnKey方法的第二个参数,

不是

取消OnKey事件。相反,它导致Excel简单地忽略击键。例如,以下语句告诉Excel忽略Alt + F4。百分号表示Alt键: 应用程序。OnKey“%{F4}”,“” 尽管可以使用OnKey方法为执行宏指定快捷键,但应该使用“宏选项”对话框来执行此任务。

如果关闭包含代码的工作簿并保持Excel打开,则不会重置OnKey方法。因此,按快捷键将导致Excel自动打开与宏的文件。为防止发生这种情况,应在Workbook_BeforeClose事件代码中包含代码以重置OnKey事件。
如何在Excel 2016中使用OnTime事件和按键事件VBA - 傻瓜

编辑的选择

古饮食计划:吃什么早餐 - 假人

古饮食计划:吃什么早餐 - 假人

一个发展的挑战早餐的一个古人(洞穴人)饮食膳食计划重新定义了哪些食物适合早餐的想法。谷类或鸡蛋和面包的非古式“传统”早餐不会削减它。不要试图将你的旧餐理念改造成新的古代格式,你可以尝试吃任何东西...

如何构建IOS应用程序

如何构建IOS应用程序

在Xcode中构建iOS应用程序意味着编译所有源代码代码文件在项目中。在构建和运行从模板创建的项目时,看到您所得到的结果真是令人兴奋。构建和运行应用程序相对简单;只需按照以下步骤操作:在工具栏中,选择一个方案...

编辑的选择

如何计算企业的盈亏平衡点 - 傻瓜

如何计算企业的盈亏平衡点 - 傻瓜

以下是您想知道的关于您拥有的业务或操作:您想知道公司必须达到的销售收入才能达到收支平衡。换句话说,你想知道产生零利润的销售收入数量,而不是零损失。幸运的是,无论是这种计算,还是...

如何使用QuickBooks 2014评估财务费用 - 傻瓜

如何使用QuickBooks 2014评估财务费用 - 傻瓜

您可以告诉QuickBooks在逾期时评估财务费用客户发票。为此,您首先设置财务费用计算规则。完成此操作后,您可以通过选择QuickBooks命令轻松评估逾期金额的财务费用。设置财务费用规则要设置财务费用规则,请选择...

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

QuickBooks 2012允许您计算产品盈亏平衡点快速简单。盈亏平衡点显示产生零利润和零损失的销售收入。记得进行利润 - 成本 - 成本分析的公式吗?它是这样的:利润=(销售收入x毛利率百分比) - 固定成本而不是计算利润的基础上...

编辑的选择

如何更改您的计算机的用户帐户图片 - 傻瓜

如何更改您的计算机的用户帐户图片 - 傻瓜

不仅每个使用您的计算机的人都有他自己的用户帐户,但每个用户都可以添加一个图片到用户帐户。所以,如果你不喜欢与你的用户帐户相关的图片,你运气好 - 你可以改变它。无论你选择什么样的图片,它都会出现在欢迎...

:如何更改您的计算机的桌面背景 - 傻瓜

:如何更改您的计算机的桌面背景 - 傻瓜

Windows桌面为您提供灵活性使其个性化。您可以在桌面上显示您最喜欢的孙子的照片,或使用您选择的颜色作为背景。改变电脑桌面背景的可能性几乎是无止境的。您甚至可以应用桌面主题,它应用了多种颜色和...

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

窗口内置桌面主题,您可以应用快速更改您的计算机的桌面的外观。这些桌面主题保存了包括菜单外观,背景颜色或图案,屏幕保护程序,甚至鼠标光标和系统声音的元素集。主题保存包含菜单外观,背景颜色或图案的元素集合...