如何使用VBA在日期列中查找最近的日期
我有一列日期链接到其他数据,我很高兴它们是如何排序的。因此,不必对excel表中的数据进行排序,我需要在该列中查找最新和最旧的日期 到目前为止,我已经有了以下代码,这些代码并没有太大帮助如何使用VBA在日期列中查找最近的日期,vba,date,max,Vba,Date,Max,我有一列日期链接到其他数据,我很高兴它们是如何排序的。因此,不必对excel表中的数据进行排序,我需要在该列中查找最新和最旧的日期 到目前为止,我已经有了以下代码,这些代码并没有太大帮助 Max_date = Application.WorksheetFunction.Max(Columns("X")).Value MsgBox Max_date 谢谢 H从第一行代码中删除.value Max_date = Application.WorksheetFunction.Max(Columns(
Max_date = Application.WorksheetFunction.Max(Columns("X")).Value
MsgBox Max_date
谢谢
H从第一行代码中删除.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)
从第一行代码中删除.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)
MsgBox CDateMax_date将执行此操作 日期在Excel中以数字表示,典型值约为40000
CDate将该数字转换为VBA日期类型。MsgBox CDateMax\U date将执行此操作 日期在Excel中以数字表示,典型值约为40000
CDate将该数字转换为VBA日期类型。因此有两种方法可以解决此问题: 首先,您可以在输出时使用CDate处理它:
Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox CDate(Max_date)
其次,您可以将Max_日期声明为日期,它将自动进行切换:
Dim Max_date as Date
Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox Max_date
就我个人而言,我更喜欢第二种方法,因为它不允许在第一个位置输入非日期值。因此有两种方法可以解决这个问题: 首先,您可以在输出时使用CDate处理它:
Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox CDate(Max_date)
其次,您可以将Max_日期声明为日期,它将自动进行切换:
Dim Max_date as Date
Max_date = Application.WorksheetFunction.Max(Columns("X"))
MsgBox Max_date
就我个人而言,我更喜欢第二个,因为它不允许在第一个位置输入非日期值。那么这段代码做什么或不做什么是不正确的?去掉结尾处的值。它不是工作表函数的一部分。它给我一些数字作为输出。但是这些数字与我要找的日期无关。。谢谢,斯科特。电话号码是42056吗?如果是,则为日期的数字形式。请尝试msgbox Cdatemax_date。那么这段代码做什么或不做什么是不正确的?请去掉结尾的.value。它不是工作表函数的一部分。它会给我一些数字作为输出。但是这些数字与我要找的日期无关。。谢谢,斯科特。电话号码是42056吗?如果是,则为日期的数字形式。请尝试msgbox Cdatemax_date