EXCEL排序VBA-外部排序

EXCEL排序VBA-外部排序,excel,vba,sorting,Excel,Vba,Sorting,这是有效的: Columns("A:L").Sort Key1:=Range("L1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 我需要: Columns("A:L").Sort ***Key1:=Range("W1")***, Order1:=xlAscending, Header:=xlGuess, _

这是有效的:

Columns("A:L").Sort Key1:=Range("L1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
我需要:

Columns("A:L").Sort ***Key1:=Range("W1")***, Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
是正常生成错误!我不想
列(“A:W”)。排序


我只需要使用VBA按W1上的值对A:L进行排序。

从逻辑上讲,按W列对A:L进行排序是不可能的,因为排序中不包括W列。 如果你这样做,你可以重复同样的排序过程,A:L将再次被洗牌到不同的顺序

因此,唯一看起来合理的做法是对A:L,W:W进行排序,但Excel无法做到这一点(在我知道的版本中,只有一个相邻区域)。唯一的解决方案:将W:W复制到L旁边,并对A:M进行排序。

Hi,这很有帮助。因此,请标记(接受)答案,以便其他人看到问题已经解决(我也得到了一些要点:)。