excel - 使用 DDMMYY 月末问题排序日期
问题描述
我创建了一个子例程,它将 ActivityDate 列从最小到最大排序。日期的格式类似于 DDMMYY,例如,010621 是本月的第一个,300621 是最后一个。
我的问题是我每周进行报告,这意味着有时我会得到上个月的最后一天/几天。发生这种情况时,这些日期将被放置在底部,因为 30 在数字上位于 01 之后,例如 310521 将出现在电子表格的底部,010621 将首先出现。
我知道我可以为月份添加一列,=MID(date, 3, 2)
首先使用月份编号并对其进行排序,但是有没有更简单的方法可以做到这一点?
这是我对日期进行排序的代码:
Sub SortDates()
Dim ActDate As Long
Dim ActDateLetter As String
sheet = "Overall Activity"
With ThisWorkbook.Worksheets(sheet).Rows(1)
Set b = .Find("ActivityDate", LookIn:=xlValues)
ActDate = b.Column
'Convert To Column Letter
ActDateLetter = Split(Cells(1, ActDate).Address, "$")(1)
End With
ThisWorkbook.Worksheets(sheet).Activate
ThisWorkbook.Worksheets(sheet).Columns(ActDate).Sort Key1:=Range(ActDateLetter & "1") _
, Order1:=xlAscending, Header:=xlYes
End Sub
解决方案
推荐阅读
- java - 每当我编译我得到一个 jni 错误发生
- python - 将回溯算法移植到 cuda 内核时遇到问题
- javascript - 尝试为不起作用的最大公共子字符串编写一个记忆解决方案
- git - 由于您有未合并的文件,因此无法恢复 Github 桌面
- javascript - TikTok嵌入式视频不断消失
- javascript - 并行运行两个函数,然后在 javascript 中使用 prev 函数的结果调用另一个函数
- r - R根据值用逻辑替换数字
- mysql - mysql工作台和xampp服务器的问题
- azure - 仅将 Azure CDN 中的某些文件提供给特定用户
- java - 如何使 Firebase 实时数据库中的数组列表可用于所有活动?