gpt4 book ai didi

vba - Excel SortFields 添加然后排序

转载 作者:行者123 更新时间:2023-12-03 00:27:35 28 4
gpt4 key购买 nike

你能帮我理解这个片段集吗:

首先好像是加了一个排序规则

MainSheet.Sort.SortFields.Clear
For lI = 1 To vSortKeys(0, 1)
MainSheet.Sort.SortFields.Add Key:=Range(vSortKeys(lI, 1) & 2),
SortOn:=xlSortOnValues, Order:=vSortKeys(lI, 2), DataOption:=xlSortNormal
Next

然后,我了解到以下代码有效地运行了排序

With MainSheet.Sort
.SetRange Range("A" & lFrom & ":" & GEN_REV_END & lTo)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

这种解释正确吗?需要先添加排序规则,然后将其应用于第二部分?

那么,为什么我们要在第二部分中定义排序范围

With MainSheet.Sort
.SetRange Range("A" & lFrom & ":" & GEN_REV_END & lTo)

End With

我们对 Key:=Range(vSortKeys(lI, 1) & 2) 进行排序的规则中不是已经有了吗?排序在哪个单元格范围内有效运行?

最佳答案

排序应用于 Sort.SetRange 中指定的范围。 Sort.SortFields.Add 中的 Key 参数允许您指定将确定排序顺序的字段。每个字段可以只是带有列标题的单元格。您可以为多个排序级别添加多个键。

举个例子,如果单元格A1:C10中有数据,并且希望以升序方式排序,以A列中的信息作为键为了排序,您可以将 A 列中的数据设置为键:

MainSheet.Sort.SortFields.Add Key:=Range("A1") '("A1:A10") will also work

然后您可以指定根据该键排序的范围,如下所示:

 MainSheet.Sort.SetRange Range("A1:C10")

关于vba - Excel SortFields 添加然后排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24352229/

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