VBA Cdate.V.应用程序或VBA的基本是一种脚本语言,可实现Microsoft Office套件中的任务自动化产品。它也是一种活动驱动的编程语言,它包含很多有用的功能。程序员利用程序员创建有效和高效的宏。阅读更多关于VBA可以帮助您的VBA,在此牙科菊属植物中湖今天,我们将在这个中间教程中取得一步,并查看一个重要的日期函数即cdate()。此函数用于将字符串或数字转换为日期格式。

我们假设您对MS Excel和VBA的工作知识。如果您对此概念新建,我们建议您通过我们的介绍课程来Excel VBA

Microsoft Excel的日期系统

MS Excel和VBA经常使用日期和时间函数。因此,如果要在程序中操作并使用它们,则会了解日期和时间函数的基本概念非常重要。请注意,MS Excel将日期存储为称为串行值的顺序编号。MS Excel认为是一天的一部分的时间,它被存储为小数分数。可以添加和减去日期和时间。因此,它们可以包含在许多计算和VBA程序中。也就是说,您可以比较两个日期或从另一个日期减去一次。你可以在我们的Excel课程中了解有关此内容的更多信息

MS Excel中有两个日期系统 - 1900和1904年。默认情况下,Windows的Microsoft Excel为1900,对于Macintosh是1904年。如果您希望通过单击“工具”菜单,可以更改日期系统。然后单击“选项”并选择“计算选项卡”。在“计算”选项卡中,选择或清除1904年日期系统复选框。

您还应该意识到,当您从另一个平台打开Excel工作表时,将自动更改日期系统。也就是说,当您在Excel中创建的工作表进行Macintosh时,在为Windows中的Excel工作时,系统将自动选择1904年的日期系统。

下表显示了每个日期系统的第一个和最后日期。

日期系统

第一次约会

最后日期

1900 1900年1月1日

(序列值1)

9999年12月31日

(序列值2958465)

1904年 1904年1月2日

(序列值1)

9999年12月31日

(序列值2957003)

微软Excel如何解释两位数的年

如果您使用的是使用Microsoft Windows 2000或更高版本,则控制面板中的区域选项控制Excel如何解释两位数的数量。如果您希望MS Excel符合您的意图,请将年份作为四位数值输入。原因是,Excel不会解释世纪。

例如,2000年而不是输入“00”,您应该输入所有四位数“2000”。

MS Excel如何解释为作为字符串或文本输入的日期的一部分部分

Microsoft Excel VBA有许多日期和时间函数。少数重要的日期(),日(),现在(),dateadd(),timeerial()和dateserial()。它还具有相同数量的数据类型转换函数。在VBA编程中经常使用的重要数据类型转换函数是CDate()。至了解有关Excel VBA的更多信息,您可以查看此课程

什么是cdate()函数

CDate识别日期和时间文字(以及落在可接受日期范围内的一些数字)并将它们转换为日期类型类型。如果其中的数量分数是从午夜开始的一天的时间。

Cdate()函数根据系统的区域设置设置标识日期格式。如果以识别的日期设置之一以外的格式输入,则不会通过此功能实现正确的一天,月和年份。如果未在日期未指定年份,则使用该年。另请注意,如果它还包含一天的一天字符串,则无法识别长期格式。

VBA Cdate()将任何数据类型,字符串或整数的值转换为日期类型。此日期函数的语法看起来像这样

Cdate(表达)

这里的参数表达是强制性的。输入有效的日期和时间表达式时,此函数将其转换为类型日期。让我们使用一个简单的例子来使这个概念清楚。

例1:

函数fncdate()dim strdate_1 dim intdate_1 dim strime_1 strdate_1 =“2014年1月24日”Intdate_1 =#12 / 03/2014#strtime_1 =“15:30:15 PM”Msgboxcdate(strdate_1)msgboxcdate(intdate_1)msgboxcdate(strtime_1)结束功能

在程序中,声明了三个变量strdate_1,intdate_1和strtime_1。这些变量分配了值“2014年1月24日”,分别#12 / 03/2014#和“15:30:15 PM”。变量通过CDATE()函数传递。输出如下。

对于MsgBoxCdate(strdate_1),显示的输出为“24-01-2014”。

对于MsgBoxCdate(Intdate_1)所显示的输出为“03-12-2014”。

对于MsgBoxCdate(strtime_1)显示的输出为“15:30:15”。

如何在MS Excel VBA中将文本字符串转换为使用CDATE()函数

当您使用包含日期的数据时,您需要清楚地了解如何使用日期数据类型。从MS Excel版本2000开始,您有VBA可以自动执行手动执行的任务。这通常是在宏的帮助下完成的(您可以在本课程中了解有关VBA宏的更多信息)。VBA CDATE()函数是最常用的日期函数之一,将存储在“字符串”变量中的日期转换为日期数据类型。下面给出的示例将有助于使概念清晰。

打开MS Excel并按以下格式输入单元格A1中的日期:

2014年3月24日

要打开“Visual Basic编辑器”,请单击“开发人员”选项卡,然后单击“Visual Basic”。在编辑器中,单击“插入”菜单,然后单击“模块”。这将插入一个新的代码模块。这是您编写代码的地方。

例2:

子CONTACTERTODATE()DIM CURRY_DATEAS DATE DEATE_STRINGAS字符串范围(“A1”)。选择date_string =范围(“a1”)。值current_date = cdate(date_string)范围(“c1”)。选择范围(“c1”)。值= current_date结束子子

让我们仔细看看这个程序。

在此程序中,两个变量“current_date”和“date_string”分别被声明为类型日期和字符串。范围(“A1”)。选择将获得在单元格A1.Date_String = Range(“A1”中输入的日期)。“字符串”变量日期_String.Current_date = Cdate(date_string)将字符串转换为日期数据类型和将其存储在变量“current_date”中。最后两个步骤将光标移动到单元c1,并在执行过程时显示列C1中的日期。

在下一个程序中,我们可以查看如何使用CDATE()函数在VBA中比较两个日期。

请注意,要在VBA中比较日期,您需要在“日期”类型中存储的日期。但是,如果您要比较的日期作为数字或字符串输入,则需要使用CDATE()函数转换它们。“如果语句”用于比较日期。以下示例有助于使概念清除。

例3:

公共子比较()DIM D1,D2作为日期D1 = CDate(“24/1/2013”​​)D2 = Cdate(“24/1/2014”)(D1  d2)然后debug.print“date 1发生在于date 2.”如果(d1 = d2)那么debug.print“日期1与日期2相同。”结束子

如果您碰巧定期在包含日期列的数据上工作,则创建宏总是明智的。无论何时要删除表中的行,请调用该宏。以下是删除“12/30/2011”之前删除日期的示例。

例4:

sub deleterowbydate()dim x,只需x = 1到celler.specialcells(xlcelltypelastcell).row debug.print cells(x,“b”)。值如果cdate(细胞(x,“b”))
    

在此示例中,将删除具有少于“12/29/2011”的所有行。例如,如果要从您的表中删除2012年12月29日之前的所有行,那么您将不得不将行更改为:

如果cdate(细胞(x,b“))
    

我们希望这能够让您了解在Excel和VBA中使用日期,并使用VBA在您使用日期的各种选择。像往常一样,熟悉这些公式的最佳方式是为自己尝试。如果你愿意,Excel先生有一个很好的课程,有很多例子可以帮助你!!

Excel VBA的顶级课程

解锁Excel VBA和Excel宏
Leila Gharani.
4.7 (26,507)
畅销书
Excel VBA宏:超消歧Excel VBA编程
格兰特赌博
4.6 (979)
畅销书
使用Excel VBA完成Web自动化
丹尼尔强
4.7 (730)
畅销书
Microsoft Excel Macros和Excel VBA硕士
凯尔·佩
4.5 (11,466)
畅销书
终极Excel VBA.
马克塔尔伯特
4.7 (3,177)
Excel VBA编程 - 完整指南
Boris Paskhaver.
4.6 (3,711)
Microsoft Excel VBA简介
凯尔·佩
4.5 (1,152)
Excel Macros&Excel VBA编程为初学者编程
andreas exadaktylos.
4.5 (842)
收视率最高
Excel与Microsoft Excel VBA用户表单
凯尔·佩
4.6 (1,173)
Microsoft Excel VBA for初学者 - 逐步学习VBA
史蒂夫麦克唐纳,吉丽亚尔
4.3 (284)
MIS培训 - authad Excel +宏+访问+ SQL
喜人·德汉尔
4.4 (330)

更多Excel VBA课程

Excel VBA学生还学习

赋予你的团队。引领行业。

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

请求演示