VBA在Excel中sorting

我有一个代码来sorting从用户窗体中放入的条目。

在C列中,我有项目名称,在D列中我有位置。 目前的代码基于工作表中列C的sorting。

我遇到的问题是,我需要它从列C第一,然后列Bsorting。目前代码查找C列中匹配的条目,只是添加到底部行。

Sub Sortit() With Sheet1 .Range("B5:W10000").Sort Key1:=.Range("C3"), Header:=xlNo End With End Sub 

这个子对我来说是一个工作表,它由两列组成 – 首先是A,然后是B.我相信这个问题正在回答你的问题,尽pipe它有点不清楚。

 Sub sort() Range("A1:C7").Select Selection.sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1") _ , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom End Sub 

最终状态的例子 –

 ABC blj asd b blj er d blj fd c dflkj 6 e ldkfj 7 a ldkfj 7 f 

我将这个问题标记为重复的,但我没有必要的重点。 你应该在VBA中find你的答案在多列上进行sorting应该是类似于…

 .Sort_ key1:=col1,order1:=xlAscending,DataOption1:=xlSortNormal, _ key2:=col2, order2:=xlAscending, DataOption2:=xlSortNormal, _ key3:=col3, order3:=xlAscending, DataOption3:=xlSortNormal, _