我尝试对一个范围(包含3列)进行排序我想对第二列上的数据进行排序,如果该列中有两个相同的内容,我希望它通过第一列对其进行排序。
第二列和第一列始终填写。
这是我使用的行,但我一直收到错误:
运行时错误1004:排序参考无效,请确保它在您要排序的数据中,并且第一个排序依据框不相同或为空
Target.Sheets("SheetToSort").Range("A1:C" & m).Sort Key1:=Range("B1:B" & m), Order1:=xlAscending, key2:=Range("A1:A" & m), order2:=xlAscending
目标是已定义的工作簿,工作表存在,单元格"A1:C" & m
包含数据只有列C可能有空格但我不对该列进行任何排序。
感谢您的帮助!
答案 0 :(得分:1)
我只是确保你的所有范围都引用同一张,所以请修改如下:
Target.Sheets("SheetToSort").Range("A1:C" & m).Sort _
Key1:=Target.Sheets("SheetToSort").Range("B1:B" & m), Order1:=xlAscending, _
Key2:=Target.Sheets("SheetToSort").Range("A1:A" & m), Order2:=xlAscending
我知道在发生这种情况之前我已经遇到了问题,因为Range
对象,当您没有指定工作表时,可能指向不同于您想象的工作表。