倒计时计时器和日期,日历计分板VBA代表应用程序的Visual Basic。它与Visual Basic不同。微软提出这一编程特性是为了与微软Office软件套件一起使用。它可以用来创建在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日”。在我们继续之前,了解更多关于如何使用与MS Excel VBA,你可能想尝试一下这个初级课程;或者只是通过我们VBA教程崩溃刷了你的理解

VBA格式函数

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

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

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

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

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

格式

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

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

常数

价值

说明
vbUseSystem 0 使用NLS API(国家语言支持应用程序接口)设定
VbSunday 1 星期日(默认,如果参数没有声明)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 周三
vbThursday 星期四
vbFriday 6 星期五
vbSaturday 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的例子一个很好的锻炼

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

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

格式(表达,风格)

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

格式 说明
格式(现在,“M”) 显示当前月份和日期
格式(现在,“毫米”) 以两位数显示当前月份。
格式(现在,“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”)结束子

当你运行这个程序,它会在不同的格式显示当前的系统日期。

Label1。文本将显示3月24日的标签2。文本将显示03标签3。文本将显示Mar标签4。文本将显示三月标签5。文本将显示24/03/2014标签6。文本将显示2014年3月24日的标签7。文本将显示12:49:23 PM标签8。文本将显示03/24/2014 12:49:23 PM

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

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

字符 例子 描述
8 月(数值不为零)
毫米 08 月(带零的数字)
MMM 九月 本月(简称文)
九月 月(完整的文本)
d 6 天(数值不为零)
DD 06 天(数值用零)
ddd 结婚 天(缩写为文本)
dddd 周三 天(完整的文本)
yy 14 年份(后两位数字)
YYYY 2014 年(4位)
H 9 小时无零(0-23)
HH 09 用零小时(00-23)
ñ 7 分钟无零(0-59)
神经网络 07 零分钟(00-59)
小号 无零秒(0-59)
SS 05 与0秒(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) =格式(date_example, m.d.yy h: mm AM / PM)范围(C8) =格式(date_example,“h \嗯”)终止子

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

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热门课程

解锁Excel VBA和Excel宏
莱拉Gharani
4.6 (22210)
畅销书
完成Web自动化与Excel VBA
丹尼尔强
4.7 (630)
畅销书
介绍到Microsoft Excel VBA
凯尔尤
4.7 (1004)
终极Excel的VBA数组课程
丹尼尔强
4.4 (415)
Excel VBA练习和现实世界的项目
卡伦Tateosyan
4.7 (174)
掌握microsoftexcel宏和Excel VBA
凯尔尤
4.5 (9860)
畅销书
终极Excel的VBA
马克塔尔伯特
4.6 (2969)
完整的Excel VBA课程,为初学者
艾伦•默里
4.3 (1232)
Excel的VBA编程 - 完全指南
鲍里斯Paskhaver
4.7 (3366)
评价最高
Excel宏和Excel VBA编程入门
Andreas Exadaktylos
4.3 (643)

更多的Excel VBA课程

Excel VBA学生也可以学习

使您的团队。引领行业。

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

请求一个演示