倒计时计时器和日期,日历记分牌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 月(无零的数字)
mm 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顶级课程

Microsoft Excel VBA简介
凯尔·佩
4.7 (960)
Excel VBA练习和现实世界项目
凯伦Tateosyan
4.5 (156)
解锁Excel VBA和Excel宏
莱拉Gharani
4.6 (21,021)
畅销书
Microsoft Excel Macros和Excel VBA硕士
凯尔·佩
4.5 (9,468)
畅销书
最终Excel VBA
马克Talbert
4.5 (2,956)
Excel VBA编程-完整的指南
Boris Paskhaver.
4.6 (3254)
使用Excel VBA完成Web自动化
丹尼尔强
4.5 (606)
畅销书
终极Excel VBA数组课程
丹尼尔强
4.4 (406)
Excel宏和Excel VBA编程初学者
andreas exadaktylos.
4.2 (614)

更多Excel VBA课程

Excel VBA学生还学习

让你的团队。领导行业。

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

请求演示