vba - VBA/Excel 中的最早日期为 00 :00:00

标签 vba excel date minimum

我有一组从数据透视表中提取的日期(可以直接从 PT 访问,也可以将其复制到新工作表中 - 我对这两种方式都没有大惊小怪)并且我需要最早和最晚的日期例如

预定日期
17 年 1 月 1 日
17 年 5 月 8 日
2016 年 8 月 11 日
16 年 3 月 12 日
...

所以我只想让 VBA 告诉我最早的日期是 2016 年 8 月 11 日,最晚的日期是 17 年 8 月 5 日(这是循环遍历不同评估的不同版本的宏的一部分,所以手动修复是不够的,而且模型太大以至于工作表中的数组公式会使它慢得离谱)。

到目前为止,我已经尝试了以下最早日期:

Dim AllDates As Variant
Dim NumberDates As Integer
Dim Earliest As Date, Latest As Date

Set AllDates = ThisWorkbook.Sheets("Pivot Table 5 - To Use").Range("A4:A203")

'Attempt 1
Earliest = WorksheetFunction.Min(AllDates)

'Attempt 2
Earliest = Format(Application.Min(AllDates), "dd/mm/yyyy")

'Attempt 3
Earliest = Format(WorksheetFunction.Min(AllDates), "dd/mm/yyyy")

'Attempt 4
Debug.Print CDate(Application.Max(AllDates))

每次尝试的结果都是“00:00:00”,所以我假设我实际上是在使用日期值(我仔细检查并确保工作表的格式设置为正确的日期格式)但除此之外我完全被难住了.

最佳答案

这对我有用:

Sub test()

Dim Earliest As Date
Dim Latest As Date

AllDates = "$A$2:$A$204"

Earliest = Application.WorksheetFunction.Min(ActiveSheet.Range(AllDates))
Latest = Application.WorksheetFunction.Max(ActiveSheet.Range(AllDates))

MsgBox Earliest & Chr(13) & Latest

End Sub

关于vba - VBA/Excel 中的最早日期为 00 :00:00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49795880/

相关文章:

excel - 如何在结果满足条件的情况下引用公式中的单元格

mysql - 生日的Sql Date查询

vba - Excel VBA WorkSheet.Excel 2013 之后的复制

python - 如何从 python 字典列表中创建范围?

excel - "Application.DisplayAlerts = False"Excel崩溃

Excel:总结非连续单元格数组中的N个最大数字

python - Pandas read_csv 用字符串 'nan' 填充空值,而不是解析日期

c++ - DD/MM/YYYY 输入验证

mysql - Excel-Vba 连接 Mysql localhost 失败

xml - Excel“从xml数据导入”不会添加新列