gpt4 book ai didi

excel - 子排序宏

转载 作者:行者123 更新时间:2023-12-04 22:31:25 25 4
gpt4 key购买 nike

我有任务列表,其中每个任务在 col A 中分配了优先级 1-6,其中 6 是“已完成”。每个任务在列 B 中都有一个任务请求日期。

我有以下代码按优先级对列表进行排序,将完成的任务留在底部。

Sub mcr_Sort_by_Status()
'
' Sort by stattus

'

'Turn off screen updating so macro working/flashing does not show
Application.ScreenUpdating = False
Range("A7:K5000").Select
ActiveWorkbook.Worksheets("Tasks").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tasks").Sort.SortFields.Add Key:=Range("A8:A5000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tasks").Sort
.SetRange Range("A7:K5000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B7").Select

End Sub

但是对于其他任务,我想按日期对它们进行排序,最新的在顶部,但想不出如何以编程方式做到这一点。

最佳答案

将您的优先级作为主键排序一次,然后在第二次排序操作中重新调整范围并将日期排序为主键。

我假设您的日期在 B 列中。

Sub mcr_Sort_by_Status()

With workSheets("Sheet1")

with .Range(.cells(7, "A"), .cells(.rows.count, "A").end(xlup).offset(0, 10))

.Cells.Sort Key1:=.Columns(1), Order1:=xlAscending, _
Orientation:=xlTopToBottom, Header:=xlyes

with .resize(application.match(6, .columns(1), 0)-1, .columns.count)

.Cells.Sort Key1:=.Columns(2), Order1:=xldescending, _
Orientation:=xlTopToBottom, Header:=xlyes

end with

end with

End With

end sub

关于excel - 子排序宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52441400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com