首页 » 网站推广 » phptimerrunner技巧_文科生自学VBA打开文件倒计时自动召唤敕令

phptimerrunner技巧_文科生自学VBA打开文件倒计时自动召唤敕令

访客 2024-12-14 0

扫一扫用手机浏览

文章目录 [+]

微软公司Office软件在商业办公领域一贯霸占着主流和主导地位,个中Excel在数据处理和剖析领域有着强大的影响力,大部分人在经历几年职场历练后可以闇练的利用Excel函数和透视表功能,基本可以轻松完成绝大多数事情和任务。
但实际上Office的强大和独特之处还在于VBA,由于VBA能够胜任好多个性化二次开拓,减少重复机器劳动从而实现办公自动化,开拓效率高且开拓周期短,尤其对付Excel重度利用者来说会了VBA切实其实便是为虎傅翼啊!


(本人外语专业毕业,机缘巧合爱上编程,自学道路曲弯波折,痛并快乐!
)在这里总结一下自学VBA碰着的难点和重点,分享码过的代码和要点总结,希望能够给初学者一点启迪和鼓励,同时乐意结交更多大神互换有助提升自己的水平。

打开Exel文件时有的小伙伴希望能够倒计时自动实行一个固界说务,毕竟除了通过窗体按钮触发任务外,这种倒计时自动触发功能也是非常故意思和实用的,那么本日就给大家先容一下如何通过VBA来编写打开文件后倒计时自动触发功能吧!


phptimerrunner技巧_文科生自学VBA打开文件倒计时自动召唤敕令

首先,VBA实现一个最大略的功能-打开文件后立即弹出窗口问好,如下:

phptimerrunner技巧_文科生自学VBA打开文件倒计时自动召唤敕令
(图片来自网络侵删)

在VBE环境下找到ThisWorkbook,然后选择Open状态下把Messagbox写入即可,把稳保存好启用宏的文件,下面试试再次打开文件会发生什么?

效果如下:

看到打开文件立马弹出了提示窗口,给我们来跪安了!

再次,进入本日的正题-如何开机后自动触发一个任务:

这里设置一个大略的触发任务作为例子,便是找到指定的Sheet页天生一段笔墨即可。
实现这个过程紧张分两块:第一块把核心触发任务写好,第二块把倒计时触发命令也写好调入核心任务即可,如下:

同样绑定到开机事宜中:

效果如下:

打开该文件后5秒自动触发了任务,很听话!


末了,再增加点繁芜度-开机后先弹出提示窗口,确定后倒计时再实行任务:

详细案例便是找到指定Sheet录入最近7天日期数据,如下:

效果如下:

先弹出提示窗口,确定后倒计时实行任务:

确定后天生日期数据如下:

代码汇总如下:

Function GetDataDelete() '删除指定Sheet中的所有数据自定义函数Application.ScreenUpdating = FalseThisWorkbook.ActiveSheet.Select '选定激活的Sheet Cells.Delete '把稳Delete删除所有数据包括其格式Application.ScreenUpdating = FalseEnd FunctionSub Mission1() '核心触发任务天生一段笔墨Sheets("START").Select GetDataDelete '调用删除自定义函数 Range("B8") = "人生不是赛场,梦想不容退场!!" Columns(2).ColumnWidth = 50 '设定列宽 With Range("B8") .Interior.ColorIndex = 36 '设定单元格背景颜色 .Borders.Weight = xlMedium '设置边框粗细程度 .Font.Name = "微软雅黑" '设定字体格式 .HorizontalAlignment = xlCenter '设定单元格内字符居中显示 .Font.FontStyle = "加粗" '设定字体加粗 .Font.ColorIndex = 3 '设定字体颜色 End WithEnd SubSub TimerRunnerMission1() '倒计时自动实行代码Application.ScreenUpdating = TrueDim SecondTime As Date '定义一个日期SecondTime = Now + TimeValue("00:00:05") '开机算过几秒开始实行代码 Application.OnTime SecondTime, "Mission1"ThisWorkbook.SaveApplication.ScreenUpdating = FalseEnd SubSub Mission2() '核心触发任务获取最近7天日期数据Application.ScreenUpdating = TrueSheets("SHOW").SelectGetDataDelete '调用删除自定义函数Range("A1") = "序号"Range("B1") = "日期"Range("C1") = "星期"Range("D1") = "月份"Dim i As LongFor i = 1 To 7 Step 1 Range("A" & i + 1) = i '遍历循环得到序号 Range("B" & i + 1) = CDate(Format(Now, "yyyy-mm-dd")) + i - 1 '遍历循环得到日期数据,CDate 函数可把一个合法的日期和韶光表达式转换为Date类型 Range("C" & i + 1) = Weekday(Range("B" & i + 1), 2) '遍历循环得到星期几 Range("D" & i + 1) = Month(Range("B" & i + 1)) '遍历循环得到月份Next iApplication.ScreenUpdating = FalseEnd SubSub TimerRunnerMission2() '倒计时自动实行代码Application.ScreenUpdating = TrueDim FirstTime As Date '定义一个日期FirstTime = Now + TimeValue("00:00:05") '开机算过几秒开始实行代码 Dim i As Integer i = MsgBox("确定5秒后实行命令2?", 1, "确定对话框") If i = 1 Then Application.OnTime FirstTime, "Mission2" Else: Exit Sub End IfThisWorkbook.SaveApplication.ScreenUpdating = FalseEnd Sub

有兴趣的小伙伴们赶紧自己也试一下吧,这样每次打开文件就能够自动实现一些自动化任务了哇!


END

我为大家,人人为我!

欢迎大家关注,点赞和转发!


~~人生不是赛场,梦想不容退场~~不断努力学习蜕变出一个更好的自己,不断分享学习路上的收成和感悟帮助他人造诣自己!


标签:

相关文章

小IT球员的足球人生,逆境中的璀璨星光

在我国足球领域,涌现出一批又一批优秀的球员,他们用汗水、拼搏和毅力,书写着属于他们的足球人生。在这其中,有一位名叫小IT的球员,他...

网站推广 2024-12-15 阅读0 评论0

小小云IT,赋能企业数字化转型的新引擎

随着信息技术的飞速发展,数字化转型已成为企业提升竞争力、实现可持续发展的关键途径。在这个大数据、云计算、物联网等新兴技术蓬勃发展的...

网站推广 2024-12-15 阅读0 评论0