您能否帮助我理解以下摘要:
首先,似乎在排序规则中添加了
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
。使用中的Key
参数Sort.SortFields.Add
可以指定将确定排序顺序的字段。每个字段可以只是具有列标题的单元格。您可以为多个排序级别添加多个键。
举个例子,如果单元格中有数据,A1:C10
并且想要以升序的方式对数据进行排序,并以columnA
中的信息作为排序的键,则可以这样做以将columnA
中的数据设置为键:
MainSheet.Sort.SortFields.Add Key:=Range("A1") '("A1:A10") will also work
然后,您可以指定将基于该键排序的范围,如下所示:
MainSheet.Sort.SetRange Range("A1:C10")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句