[英]How can I sort my my first two columns A-Z?
我正在尝试对包含字母和数字的列进行排序。 我想对列 AZ 进行排序,我尝试阅读一些函数并尝试对其进行排序,但是我收到此错误:
Private Function Sort2()
Set HSheet = ThisWorkbook.Sheets("Building Parts")
HBLR = HSheet.Range("A" & Rows.Count).End(xlUp).Row
Worksheets("Building Parts").Activate
With Range(Columns("A"), Columns("I"))
.Sort key1:=Columns("A"), Order1:=xlDescending, Header:=xlNo
.Sort key1:=Columns("B"), Order1:=xlDescending, Header:=xlNo
End With
End Function
模拟数据:
从我的评论中编写代码作为答案,使其更具可读性
对同一范围内的单个列使用排序将允许对每列进行 xlAscending 排序,最终排序提供最终 AZ:
模拟数据:
Col 1 Col 2
A 1
A 3
B 1
C 1
A 2
如果您希望 Col1 具有主要层次结构,则将其排在最后,因此:
With Range(Columns(1), Columns(2))
.Sort key1:=.Columns(2), order1:=xlAscending, Header:=xlYes
.Sort key1:=.Columns(1), order1:=xlAscending, Header:=xlYes
End With
上面的代码本质上是:
.Range(.Columns(1), .Columns(2)).Sort key1:=.Columns(1), order1:=xlAscending, key2:=.Columns(2), order2:=xlAscending, Header:=xlYes
单行方法的优先级最高为key1
,第二高为key2
, key2
。
代码运行后的输出将是:
Col 1 Col 2
A 1
A 2
A 3
B 1
C 1
编辑(接受后):
我回去添加了 soem 缺少的点符号,在key1:=.Columns(1)
......不合格的引用会导致问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.