如何使用VBA

时间:2016-04-13 17:39:10

标签: vba date max

我有一列日期与其他数据相关联,我很满意它们的排序方式。因此,如果不对Excel工作表中的数据进行排序,我需要找到该列中最新和最早的日期。

到目前为止,我已经有了以下代码,这些代码没有用处。

Max_date = Application.WorksheetFunction.Max(Columns("X")).Value

MsgBox Max_date

由于 ħ

3 个答案:

答案 0 :(得分:2)

所以有几种方法可以解决这个问题:

首先,您可以在输出时使用CDate()来处理它:

Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox CDate(Max_date)

秒您可以将Max_date声明为日期,它将自动进行切换:

Dim Max_date as Date
Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox Max_date

我个人更喜欢第二种,因为它不允许首先输入非日期值。

答案 1 :(得分:1)

删除" .value"从你的第一行代码开始。

Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox Max_date

这将返回表示Microsoft Excel日期时间代码中的日期的数字。

要回应Scott Craner的评论,请使用以下内容显示该数字的日期格式版本。

Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox cDate(Max_date)

答案 2 :(得分:1)

MsgBox CDate(Max_date)会这样做。

日期在Excel中表示为数字,典型值约为40000。

CDate将该号码转换为VBA日期类型。