在excel中独立sorting多列

我想sorting从A到Z的大量列表。但是,如果我sorting列A,我不希望所有其他列重新排列。 我需要所有这些名单按字母顺序sorting。 我知道可以一个一个做,但我有278列。 有没有办法自动化呢?

如果在任何列的数据中没有空白单元格,那么以下是稍微不同的方法,其不会假设行数最大。

Sub SortIndividualJR() Dim rngFirstRow As Range Dim rng As Range Dim ws As Worksheet Application.ScreenUpdating = False Set ws = ActiveSheet Set rngFirstRow = ws.Range("A1:JR1") For Each rng In rngFirstRow With ws.Sort .SortFields.Clear .SortFields.Add Key:=rng, Order:=xlAscending 'assuming there are no blank cells.. .SetRange ws.Range(rng, rng.End(xlDown)) .Header = xlYes .MatchCase = False .Apply End With Next rng Application.ScreenUpdating = True End Sub 

user1281385的代码没有错; 正如我所说,这只是一个select。

添加如果有一些空格然后修改上面的代码使用.SetRange ws.Range(rng, rng.Range("A1000").End(xlUp)) ,改变1000任何你所期望的将大于最大数量数据行。

select你想要sorting的列,然后按“sorting和筛选”一个盒子就会出现

 Expand selection continue with current selection 

select继续当前select

然后select你想如何分类。 重复你想要sorting的每一列。

展开select是默认选项

macros

 Dim oneRange as Range 
 Dim aCell as Range 
对于I = 1到278
    设置oneRange = Range(“r1c”&I&“:r1000c”&I) 
    设置aCell = Range(“r1c”&I)
     oneRange.Sort Key1:= aCell,Order1:= xlAscending,Header:= xlYes
接下来我

应该pipe用