VBA入门到进阶常用知识代码总结43

第43集 日期与时间专辑
189、 返回当前日期、时间(指本机系统设置的日期和时间)
Sub t1()
Debug.Print Date '返回当前日期
Debug.Print Time '返回当前时间
Debug.Print Now '返回当前日期+时间
End Sub
190、 格式化显示日期Format函数
Sub t2()
Debug.Print Format(Now, “yyyy-mm-dd”) '2018-06-28
Debug.Print Format(Now, “yyyy年mm月dd日”) '2018年06月28日
Debug.Print Format(Now, “yyyy年mm月dd日 h:mm:ss”) '2018年06月28日 10:37:44
Debug.Print Format(Now, “d-mmm-yy”) '英文月份 28-Jun-18
Debug.Print Format(Now, “d-mmmm-yy”) '英文月份 28-June-18
Debug.Print Format(Now, “aaaa”) '中文星期 星期四
Debug.Print Format(Now, “ddd”) '英文星期前三个字母 Thu
Debug.Print Format(Now, “dddd”) '英文星期完整显示 Thursday
End Sub
191、 根据年月日返回日期DateSerial
Sub t3()
Debug.Print VBA.DateSerial(2011, 10, 1) '2011/10/1
End Sub
192、 根据小时分钟返回时间TimeSerial
Sub t4()
Debug.Print VBA.TimeSerial(1, 2, 1) '1:02:01
End Sub
193、 返回年月日小时分秒
Sub t5()
Dim d
d = “2011-10-28 01:10:03”
Debug.Print Year(d) & “年”
Debug.Print Month(d) & “月”
Debug.Print Day(d) & “日”
Debug.Print Hour(d) & “时”
Debug.Print VBA.Minute(d) & “分”
Debug.Print Second(d) & “秒”
End Sub
194、 计算两个日期相隔天数,月数,年数,小时,分种,秒DateDiff
Sub tt1()
Dim d1, d2 As Date
d1 = #11/21/2011#
d2 = #12/1/2011#
Debug.Print “相隔” & (d2 - d1) & “天”
Debug.Print “相隔” & DateDiff(“d”, d1, d2) & “天”
Debug.Print “相隔” & DateDiff(“m”, d1, d2) & “月”
Debug.Print “相隔” & DateDiff(“yyyy”, d1, d2) & “年”
Debug.Print “相隔” & DateDiff(“q”, d1, d2) & “季”
Debug.Print “相隔” & DateDiff(“w”, d1, d2) & “周”
Debug.Print “相隔” & DateDiff(“h”, d1, d2) & “小时”
Debug.Print “相隔” & DateDiff(“n”, d1, d2) & “分种”
Debug.Print “相隔” & DateDiff(“s”, d1, d2) & “秒”
End Sub
195、 计算两时间的差(常用)
Sub tt2() '计算两时间的差
Dim t, x
t = Timer
For x = 1 To 10000000
Next x
Debug.Print Timer - t
End Sub
196、 日期时间加减DateAdd
Sub tt3()
Dim d1, d2 As Date
d1 = “2001-10-1 00:00:00”
Debug.Print VBA.DateAdd(“d”, 10, d1) '加上10天
Debug.Print VBA.DateAdd(“m”, 10, d1) '加上10个月
Debug.Print VBA.DateAdd(“yyyy”, 10, d1) '加上10年
Debug.Print VBA.DateAdd(“yyyy”, -10, d1) '减少10年
Debug.Print VBA.DateAdd(“h”, 10, d1) '加上10小时后的时间
Debug.Print VBA.DateAdd(“n”, 10, d1) '加上10分种后的时间
Debug.Print VBA.DateAdd(“s”, 10, d1) '加上10秒后的时间
End Sub
197、 OnTime方法
安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。使用 Now + TimeValue(time) 可安排经过一段时间(从现在开始计时)之后运行某个过程。使用 TimeValue(time) 可安排某个过程只运行指定的时间。
在这里插入图片描述
Dim k
Sub ttt1()
Application.OnTime TimeValue(“15:46:00”), “a” '指定时间运行a过程
End Sub

Sub ttt2()
Application.OnTime Now + TimeValue(“00:00:02”), “a” '现在开始2秒后运行a过程
End Sub

Sub a()
MsgBox “test”
End Sub
'--------------------------------------------------------------------------------------------------
Sub 时间显示()
Dim x
If k = 1 Then
k = 0
End
End If
Range(“a1”) = Format(Now, “h:mm:ss”)
Application.OnTime Now + TimeValue(“00:00:01”), “时间显示”
x = DoEvents '转让控制权,以便让操作系统处理其它的事件。
End Sub

Sub 结束时间显示()
k = 1 '运行此过程,将结束时间显示程序
End Sub

发布了47 篇原创文章 · 获赞 0 · 访问量 202

猜你喜欢

转载自blog.csdn.net/tiansdk320/article/details/104365826