倒计时计时器和日期,日历记分牌VBA代表应用程序的Visual Basic。它不同于Visual Basic。微软提出了这一编程功能,用于微软办公软件套件。它可以用来创建在Microsoft Excel、Outlook或MS Office套件的其他组件上运行的程序。在这个中级教程中,我们将带您通过VBA格式的日期和时间功能。VBA格式函数接受表达式,日期或数字值,并将其转换为字符串。我们假设您了解MS Excel和Visual basic的基本概念。你可以了解更多关于VBA在这个优秀的课程,或者你很着急,你可以参加这个24小时的VBA培训师课程

如何分配VBA日期值到一个变量

您可以在任何版本的Microsoft Excel中设置格式,从Excel 2000开始到Excel 2013版本。您可以将任何日期格式作为值分配给Excel VBA中的日期数据类型的变量。但是,要确保值放在简单散列(#)标记之间。这里VBA将值转换为“日期”,可以在比较和其他类型的语句中使用。下面的例子说明了这一点:

# D1 = #3/24 2014# D1 = #3/24 2014#

VBA将在2014年3月24日解释上述声明。在我们继续之前了解更多关于如何使用VBA与MS Excel,你可以试试这个入门课程;或者只是通过我们的VBA教程来提高你的理解

VBA格式函数

Microsoft Excel Format函数接受日期表达式并将其作为格式化字符串返回。Format date函数的语法如下所示

格式(表达式,[Format, [firstdayofweek, [firstweekofyear]]])

让我们仔细看看参数。

  1. 表达式表示要格式化的值。
  2. 格式表示要应用于表达式的格式。它是可选的。在VBA格式日期功能中,您可以选择定义自己的格式或使用一些MS Excel预定义格式。
  3. Firstdayofweek指定一周的第一天。如果没有声明,Format函数假定Sunday是一周的第一天。可选参数。
  4. Firstweekofyear指定一年的第一个星期的值。但是,如果没有声明此参数,那么Format函数假定第一周从1月1日开始。

下面的表格显示了一些Excel预定义的日期格式。

格式

解释
一般的日期 根据系统设置显示日期
长时间的日期 根据系统的长日期设置显示日期
中日期 根据系统的中日期设置显示日期
短的日期 根据系统的短日期设置显示日期
长时间 根据系统的长时间设置显示时间
媒介的时间 根据系统的中间时间设置显示时间
短的时间内 根据系统的短时间设置显示时间

下面给出的表格包含了参数“firstdayoftheweek”可以在VBA程序中使用的值。

常数

价值

解释
vbUseSystem 0 使用NLS API(国家语言支持应用程序接口)设置
VbSunday 1 Sunday(默认,未声明if参数)
vbMonday 2 周一
vbTuesday 3. 周二
vbWednesday 4 周三
vbThursday 5 周四
vbFriday 6 星期五
vbSaturday 7 周六

下表列出了可选参数“第一年的第一周,你可以在VBA程序中使用”的可能值。看一看

常数 价值 解释
vbUseSystem 0 使用NLS API设置
vbFirstJan1 1 包含1月1日的一周
vbFirstFourDays 2 一年中至少有四天的第一个星期
vbFirstFullWeek 3. 一年中的第一个完整的星期

下面是一些Excel VBA中日期格式功能的例子,让这个功能更清晰。

1.Format(#24/03/2014#, " Short Date ")将返回' 24/03/2014 '

2.格式(#24/03/2014#," Long Date ")将返回" March 24, 2014 "

3.Format(#24/03/2014#, " yyyy/mm/dd ")将返回' 2014/03/24 '

我们建议你写出更多关于日期函数格式的例子。这将帮助你更适应各种选择。这门课程与Excel先生可以帮助你得到一个很好的锻炼与Excel VBA的例子

用户自定义格式日期和时间功能

注意,您还可以使用Format函数的一些预定义的日期和时间变体。它的语法是这样的

格式(表达、风格)

下表显示了用户定义的日期和时间格式函数。仔细阅读过

格式 解释
格式(现在,“M”) 显示当前月份和日期
格式(现在,“毫米”) 以两位数显示当前月份。
格式(现在,“嗯”) 显示当前月份的缩写名称
格式(现在,“嗯”) 显示当前月份的全称。
格式(“dd / MM / yyyy”) 以日/月/年的格式显示当前日期。
格式(现在,“嗯,d, yyyy”) 以月、日、年的格式显示当前日期
格式(Now, " h:mm:ss tt ") 以hour:minute:second和show am/pm格式显示当前时间
格式(现在,“MM/dd/yyyy h: MM:ss”) 以小时:分钟:秒的格式显示当前日期和时间

让我们使用一个简单的VBA程序来进一步了解用户定义的日期和时间格式函数。

subnewbutton_click (ByVal发送方作为系统。对象,ByVal e作为System.EventArgs)处理Button1。点击,Button2。点击,Button3。单击Label1。Text = Format(Now, "M") Label2。Text = Format(Now, "MM") Label3。Text = Format(Now, "MMM") Label4。Text = Format(Now, "MMMM")Text = Format(Now, "dd/MM/yyyy")Text = Format(Now, "MMM,d,yyyy")Text = Format(Now, "h:mm:ss tt")Text = Format(Now, "MM/dd/yyyy h: MM:ss tt") End Sub . Format(Now, "MM/dd/yyyy h: MM:ss tt"

当您运行此程序时,它将以不同的格式显示当前系统日期。

Label1。文字将显示3月24日标签2。文本将显示03 Label3。文本将显示Mar Label4。文本将显示March Label5。文本将显示2014年3月24日的标签6。文字将显示2014年3月24日的标签7。文本将显示12:49:23标签8。文本将显示03/24/2014 12:49:23 PM

VBA日期功能支持的字符

VBA Date函数支持这些字符来显示日期和时间。这是一个相当长的列表,所以看看下面的表格!

字符 例子 描述
8 月份(没有零的数字)
毫米 08 月份(数字加零)
9月 月(缩写为文本)
9月 月(完整的文本)
d 6 日(没有零的数字)
dd 06 日(有零的数字)
ddd 结婚 天(缩写为文本)
dddd 周三 天(完整的文本)
yy 14 年份(后两位数字)
yyyy 2014 (4位数字)
h 9 没有零的小时(0-23)
hh 09 零时(00-23)
n 7 不含0的分钟数(0-59)
神经网络 07 零分(00-59)
年代 5 没有零的秒数(0-59)
党卫军 05 零秒(00-59)
AM / PM 显示AM / PM

让我们用一个例子来帮助您更好地理解上面的表格。

子date_and_time()现在date_example =()范围(C1) =格式(date_example“mm.dd.yy”)范围(C2) =格式(date_example“d mmmmyyyy”)范围(C3) =格式(date_example,“嗯j, yyyy”)范围(C4) =格式(date_example“ddddd”)范围(C5) =格式(date_example“mmmm-yy”)范围(C6) =格式(date_example,“mm.dd.yyyyhh:mm”)范围(“C7”)= Format(date_example,“m.d.yy h:mm AM/PM”)范围(“C8”)= Format(date_example,“h\Hmm”)结束子

在这个程序中,我们通过now()将系统日期和时间分配给变量date_example。程序执行后,单元格将包含以下值

C1将包含03.24.14 C2将包含2014年3月24日C3将包含2014年3月24日C4将包含3月14日C5将包含3 -14日C6将包含03.24.14 15:04 PM C8将包含15H04

下面给出了一个使用日期函数来计算你的年龄的例子。我们假定您有基本的编程知识。如果不是,请参考我们的VBA编程的基本教程。

VBA中计算年龄

Function Age(Date1 As Date, Date2 As Date) As String Date1 As Integer datmonth_1 As Integer datday1 As Integer Date1 As Date Temp As Date Temp = datesal(年(Date2),月(Date1),天(Date1)) (Date2)——每年台北= (Date1) +(临时> Date2) Month1 = (Date2)月(Date1) -(12 *(临时> Date2)) = (Date2)——天俊(Date1)如果俊< 0然后Month_1 = Month_1 - 1 =天俊(DateSerial(年(Date2)月(Date2) + 1, 0)) +俊+ 1结束如果年龄&“年”& =台北Month_1 &“月”& &俊“天”的功能

这个程序接受两个参数Date1和Date2。日期1是您的出生年份,日期2是当前日期。最后,你就得到了以年、月、日为单位的年龄。

正如您刚才看到的,用于日期和时间的Format函数有多种选项。您可以选择要在程序中显示或使用的格式。熟能生巧。你自己试试这些例子吧。如果你愿意的话在你继续之前得到更多的手与VBA,本课程可以帮助你.一旦你准备好升级,你就可以了试试这个终极VBA课程.让我们知道它的进展!

Excel VBA顶级课程

解锁Excel VBA和Excel宏
莱拉Gharani
4.7 (26664)
畅销书
熟练掌握微软Excel宏和Excel VBA
凯尔尤
4.5 (11564)
畅销书
Microsoft Excel VBA简介
凯尔尤
4.5 (1156)
完整的Web自动化与Excel VBA
丹尼尔强
4.7 (732)
畅销书
最终Excel VBA
马克Talbert
4.7 (3185)
Excel VBA编程-完整指南
鲍里斯Paskhaver
4.6 (3722)
Excel VBA宏:超消除歧义的Excel VBA编程
格兰特赌博
4.5 (985)
畅销书
Excel宏和Excel VBA编程初学者
Andreas Exadaktylos
4.5 (852)
评价最高
Excel VBA练习和实际项目
凯伦Tateosyan
4.4 (218)
基于项目的Excel VBA课程
布兰登·布朗
4.7 (134)

更多Excel VBA课程

Excel VBA的学生也可以学习

让你的团队。领导行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示