倒计时和日期,日历记分板VBA代表Visual Basic for Applications。它不同于visualbasic。微软提出了这个编程功能来和微软办公软件套件一起使用。它可用于创建要在Microsoft Excel、Outlook或MS Office suite的其他组件上运行的程序。在这个中级教程中,我们将指导您了解日期和时间的VBA格式函数。VBA Format函数接受表达式、日期或数字值并将其转换为字符串。我们假设您了解MS Excel和Visual basic for Applications的基本概念。你可以了解更多关于VBA在这个优秀的课程或者你有急事的时候,你可以借此24小时VBA师培训课程

如何将VBA日期值指定给变量

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

D1=#2014年3月24日#D1=#3/24/2014#D1=#03/24/2014#

VBA将在“2014年3月24日”之前解释上述声明了解更多关于如何使用VBA与MS Excel,你可能想试试这门初级课程;或者通过我们VBA教程崩溃刷了你的理解

VBA格式函数

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

格式(表达式,[格式,[Firstdayofweek可,[firstweekofyear]]])

让我们仔细看看这些参数。

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

下图显示给出了一些对Excel的表格预定义的日期格式。

格式

说明
一般日期 显示日期取决于系统设置
长日期 根据系统的长日期设置显示日期
中日期 根据系统的中间日期设置显示日期
短日期 显示日期取决于系统的短日期设置
很久 显示时间取决于系统的长时间设置
中等时间 显示时间取决于系统中的时间设置
短时间 根据系统的短时间设置显示时间

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

常数

价值

说明
vbUseSystem 0 使用NLS API(国家语言支持应用程序接口)设定
VbSunday公司 1 Sunday(默认值,如果未声明参数)
星期一 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vb星期四 星期四
vbFriday 6 星期五
vb星期六 7 星期六

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

常数 价值 说明
vbUseSystem 0 使用NLS API设置
vbFirstJan1 1 包含一月一日的那一周
vbFirstFourDays公司 2 有至少4天在今年第一周
vbFirstFullWeek 3 一年中第一个完整的星期

这里有几个例子格式函数的日期在Excel VBA使这个功能更清楚。

1.格式(#24/03/2014#,“短日期”)将返回'24 / 03/2014'

2.格式(#24/03/2014#,“长日期”)将返回“2014年3月24日”

3.格式(#24/03/2014#,“YYYY / MM / DD”)将返回“2014年3月24日”

我们建议您尽快制定日期函数格式自己的更多的例子。这会帮助你得到更舒适的各种选项。这当然与Excel先生可以帮助你用Excel VBA的例子一个很好的锻炼

用户定义的格式函数的日期和时间

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

格式(表达,风格)

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

格式 说明
格式(现在是“M”) 显示当前月份和日期
格式(现在是“MM”) 以两位数显示当前月份。
格式(现在,“MMM”) 显示当前月份的缩写名称
格式(现在,“嗯”) 显示当前月份的全名。
格式(现在是“dd/MM/yyyy”) 以日/月/年的格式显示当前日期。
格式(现在,“MMM,d,YYYY”) 以月、日、年的格式显示当前日期
格式(现在为“h:mm:ss tt”) 显示当前时间,格式为小时:分钟:秒和显示AM / PM
格式(现在,“MM / DD / YYYY H:MM:SS) 显示格式小时的当前日期和时间:分:秒

让我们用一个简单的VBA程序仔细研究一下用户定义的日期和时间格式函数。

子Newbutton_Click(BYVAL发件人为System.Object的,BYVALË作为System.EventArgs)把手Button1.Click,Button2.Click,Button3.Click Label1.Text =格式(现在, “M”)Label2.Text =格式(现在,“MM“)Label3.Text =格式(现在, ”MMM“)Label4.Text =格式(现在, ”MMMM“)Label5.Text =格式(现在, ”日/月/年“)Label6.Text =格式(现在, “MMM,d,YYYY”)Label7.Text =格式(现在, “H:MM:SS TT”)Label8.Text =格式(现在, “MM / DD / YYYY H:MM:SS TT”)结束子

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

标签1.文本将显示3月24日标签2.文本将显示03标签3.文本将显示Mar标签4.文本将显示3月标签5.文本将显示2014年3月24日标签6.文本将显示2014年3月24日标签7.文本将显示标签8.文本将显示2014年3月24日下午12:49:23 PM

通过VBA日期函数支持的字符

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

字符 例子 说明
8 月(数值不为零)
毫米 08 月(带零的数字)
MMM 九月 本月(简称文)
九月 月(完整的文本)
d 6 天(数值不为零)
DD 06 天(数值用零)
ddd 结婚 日(缩写文本)
dddd 星期三 天(完整的文本)
14 年份(后2位)
YYYY 2014 年(4位)
H 9 小时无零(0-23)
HH 09 用零小时(00-23)
ñ 7 分钟无零(0-59)
nn公司 07 零分(00-59)
小号 无零秒(0-59)
SS 05 零秒(00-59)
上午/下午 上午 显示AM / PM

让我们用一个例子来帮助你更好地理解上表。

Sub date_and_time()date_example=Now()Range(“C1”)=格式(date_example年月日“)Range(“C2”)=格式(date_example,“d mmmmmmyyyy”)Range(“C3”)=格式(date_example,“mmmm j,yyyy”)范围(“C4”)=格式(日期示例,“ddddddd”)范围(“C5”)=格式(日期示例,“mmmm yy”)范围(“C6”)=格式(日期示例,"年月日:mm“)范围(“C7”)=格式(date_example,“m.d.yy h:mm AM/PM”)范围(“C8”)=格式(date_example,“h\Hmm”)End Sub

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

C1将包含14年3月24日C2将包含2014年3月24日C3将包含2014年3月24日C4将包含周一24 C5将含有三月-14 C6将包含2014年3月24日15时04 C7将包含14年3月24日15:04 PM C8将包含15H04

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

用VBA计算年龄

函数年龄(Date1为日期,Date2日期)字符串一样整数昏暗Month_1昏暗的台北整数昏暗的俊一样整数昏暗的临时约会Temp = DateSerial(年(Date2)月(Date1)天(Date1)) (Date2)——每年台北= (Date1) +(临时> Date2) Month1 = (Date2)月(Date1) -(12 *(临时> Date2)) = (Date2)——天俊(Date1)如果俊< 0然后Month_1 = Month_1 - 1 =天俊(DateSerial(年(Date2)月(Date2) + 1,0)) + Day1 + 1 End If Age = Year1 &“years”& Month_1 &“months”& Day1 &“days”End函数

该程序接受两个参数日期1和date2。日期1是你的出生年份和日期2为当前日期。最后,你会得到你的年龄在年,月,日的术语。

就像你刚才看到的,日期和时间格式函数来在各种选项。您可以选择要显示或在程序中使用的格式。与往常一样,熟能生巧。不要尝试这些例子自己。如果您想在继续学习之前,请多了解VBA,本课程可以帮助您. 一旦你准备好把它提高一个档次,你就可以试试这个终极VBA过程. 告诉我们进展如何!

在Excel VBA热门课程

介绍到Microsoft Excel VBA
凯尔佩尤
4.7 (960)
Excel VBA练习和实际工程
卡伦Tateosyan
4.5 (156)
解锁Excel VBA和Excel宏
莱拉Gharani
4.6 (21046)
畅销书
掌握microsoftexcel宏和Excel VBA
凯尔佩尤
4.5 (9479)
畅销书
终极Excel的VBA
马克塔尔伯特
4.5 (2956)
Excel的VBA编程 - 完全指南
鲍里斯·帕斯卡弗
4.6 (3257)
完成Web自动化与Excel VBA
丹尼尔强
4.6 (606)
畅销书
终极Excel的VBA数组课程
丹尼尔强
4.4 (406)
Excel宏和Excel VBA编程入门
安德烈亚斯·埃克达克提洛斯
4.2 (614)

更多Excel VBA课程

Excel VBA学生也可以学习

使您的团队。引领行业。

通过Udemy for Business订阅您所在组织的在线课程和数字学习工具库。

请求演示