倒计时计时器和日期,日历记分牌VBA代表Visual Basic for Applications。它与Visual Basic不同。Microsoft提出了此编程功能可与Microsoft Office软件套件一起使用。它可用于创建要在Microsoft Excel,Outlook或MS Office套件的其他组件上运行的程序。在这种中级教程中,我们通过日期和时间浏览VBA格式函数。VBA格式函数采用表达式,日期或数字值,并将其转换为字符串。我们假设您知道MS Excel和Visual Basic for Applications的基本概念。你可以在这个优秀的课程中了解更多关于VBA的信息或者你很着急,你可以参加这个24小时VBA培训课程

如何将VBA日期值分配给变量

您可以从Excel 2000开始的任何版本的Microsoft Excel的格式设置为Excel版本2013.您可以将任何日期格式分配为具有Excel VBA中的日期数据类型的变量的值。但是,请确保在简单的哈希(#)标签之间放置值。这里VBA将值转换为可用于比较和其他类型的语句的“日期”。以下示例显示:

d1 = #march 24,2014#d1 =#3/24 / 2014#d1 =#03 / 24/2014#

VBA将把上述陈述解释为日期“2014年3月24日”。在我们继续前进之前了解有关如何使用MS Excel的VBA的更多信息,您可能想要尝试此底漆课程;要不就崩溃通过我们的VBA教程来刷你的理解

VBA格式函数

Microsoft Excel格式函数接受日期表达式,并将其返回为格式化字符串。格式日期函数的语法看起来像这样

格式(expression, [Format, [firstdayofweek, [firstweekofyear]]])

让我们仔细看看参数。

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

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

格式

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

下表包含参数“FirstDayoftheweek”可以在VBA程序中占用的值。

不变

价值

解释
vbUseSystem 0 使用NLS API(国家语言支持应用程序接口)设置
vbsunday 1 星期日(默认,如果未声明参数)
vbmonday 2 周一
vbTuesday 3. 周二
vbWednesday 4 周三
vbhthursday 5 周四
vbFriday 6 星期五
vbsaturday 7 周六

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

不变 价值 解释
vbUseSystem 0 使用NLS API设置
vbFirstJan1 1 含有1月1日的一周
vbfirstfourdays. 2 一年中至少有4天的第一周
vbFirstFullWeek 3. 今年的第一周

以下是Excel VBA中的日期的格式函数的一些示例,以使此功能更加清晰。

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

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

3.Format(#24/03/2014#,“yyyy/mm/dd”)会返回“2014/03/24”

我们建议你在你自己的日期函数格式上找到更多的例子。这将帮助您更舒适地使用各种选项。这门课程与Mr Excel可以帮助你得到一个很好的Excel VBA例子

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

请注意,您还可以使用FORM格式函数的一些预定义体文进行日期和时间。这看起来像这样的语法

格式(表达、风格)

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

格式 解释
格式(现在,“m”) 显示当前月份和日期
格式(现在,“mm”) 在两位数字中显示当前月。
格式(现在,“嗯”) 显示当前月的缩写名称
格式(现在,“mmmm”) 显示当月的全名。
格式(现在,“DD / MM / YYYY”) 以日/月的格式显示当前日期。
格式(现在,“嗯,d, yyyy”) 显示本月,日,年格式的当前日期
格式(现在,“h:mm:ss tt”) 以小时:分:秒的格式显示当前时间,并显示am/pm
格式(现在,“月/日/年h:月:ss”) 以小时:分钟:秒的格式显示当前日期和时间

让我们仔细看看使用简单的VBA程序的日期和时间的用户定义的格式函数。

Sub Newbutton_Click(ByVal sender As System。对象,ByVal e作为System.EventArgs)处理Button1。点击,Button2。点击,Button3。单击Label1。Text = Format(现在是“M”)Label2。Text = Format(现在,“MM”)Label3。Text = Format(现在是“MMM”)Label4。Text = Format(现在,“MMMM”)Label5。Text = Format(Now, "dd/MM/yyyy")Text = Format(现在,“MMM,d,yyyy”)Label7。Text = Format(现在,“h:mm:ss tt”)Label8。Text = Format(Now, "MM/dd/yyyy h: MM:ss tt")结束Sub

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

label1.text将显示3月24日标签2.text将显示03 label3.text将显示Mar Label4.Text将显示3月Label5.Text将显示34/03/2014 Label6.Text将显示Mar,24,2014 Label7.text将显示晚上12:49:23 PM Label8.Text将显示03/24/2014 12:49:23 PM

字符支持的VBA日期功能

VBA日期函数支持这些字符以显示日期和时间。这是一个很长的名单,所以请查看下表!

人物 例子 描述
8 月(无零的数字)
毫米 08 月(数值与零)
9月 月(缩写为文本)
mmmm. 9月 月(全长文字)
d 6 日(无零的数字)
dd 06 日(带零的数字)
DDD. 星期三 日(缩写文字)
德德德 周三 天(全长文字)
yy. 14 年(最后2位数)
yyyy 2014 (4位数字)
h 9 无零点的小时数(0-23)
hh 09 零小时数(00-23)
n 7 零分钟(0-59)
NN. 07 用零(00-59)分钟
年代 5 没有零的秒数(0-59)
党卫军 05 用零(00-59)秒
上午下午 显示AM / PM

让我们使用一个例子来帮助您更好地了解上表。

子Date_and_time()日期_example =现在()范围(“c1”)=格式(date_example,“mm.dd.yy”)范围(“c2”)=格式(date_example,“d mmmmyyyy”)范围(“c3”)=格式(date_example,“mmmm j,yyyy”)范围(“c4”)=格式(date_example,“ddddd”)范围(“c5”)=格式(date_example,“mmmm-yy”)范围(“c6”)= Format(date_example, "mm.dd.yyyyhh:mm") Range("C7") = Format(date_example, "m.d.yy h:mm AM/PM") Range("C8") = Format(date_example, "h\Hmm") End Sub

在此程序中,我们将系统日期和时间分配给date_example的date()。执行程序后,单元格将包含以下值

C1将包含03.24.14 C2将包含24 March 2014 C3将包含March 24 2014 C4将包含Mon 24 C5将包含March-14 C6将包含03.24.14 15:04 C7将包含3.24.14 15:04 PM C8将包含15H04

下面给出的是使用日期函数来计算您的年龄的示例。我们假设您有基本的编程知识。如果不是,请在VBA编程中引用我们的基本教程。

计算年龄在VBA中

函数年龄(日期为日期,日期为日期)作为字符串昏暗岁月作为整数昏暗的月份作为整数暗淡的day1作为整数暗淡qup作为日期temp = dateserial(年(date2),月(date1),日(date1),日(date1))岁=年(DAY2) - 年(date1)+(temp> date2)月1 =月(date2) - 月份(date1) - (12 *(temp> date2))day1 =日(date2) - 日(date1)如果第1天1 <0那么月_1 =月份= 1天1 =日(日期(日期(日期),月(date2)+ 1,0))+ day1 + 1结束如果年龄=年度1和“几年”和月份_1&“月份”和日“天”结束功能

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

正如您刚才看到的,date和time的Format函数有多种选项。您可以选择要在程序中显示或使用的格式。熟能生巧总是如此。请自己尝试一下这些例子。如果你愿意的话在您继续使用VBA之前,请在VBA上获取更多手,这课程可以帮助您。一旦你准备好踩到一个档次,你可以尝试这个终极VBA课程。让我们知道怎么回事!

Excel VBA顶级课程

解锁Excel VBA和Excel宏
莱拉Gharani
4.7 (25837)
畅销书
Microsoft Excel Macros和Excel VBA硕士
凯尔·佩
4.5 (11,131)
畅销书
最终Excel VBA
马克Talbert
4.5 (3,125)
Excel VBA编程-完整的指南
Boris Paskhaver.
4.5 (3,649)
使用Excel VBA完成Web自动化
丹尼尔强
4.6 (716)
畅销书
Microsoft Excel VBA简介
凯尔·佩
4.6 (1,128)
Excel VBA宏:超消歧Excel VBA编程
格兰特赌博
4.6 (950)
畅销书
Excel宏和Excel VBA编程初学者
andreas exadaktylos.
4.6 (802)
收视率最高
Excel与微软Excel VBA用户表单
凯尔·佩
4.6 (1,138)
Excel VBA练习和现实世界项目
凯伦Tateosyan
4.5 (214)

更多Excel VBA课程

Excel VBA学生还学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示