Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用VBA进行排序时出现错误结果_Excel_Sorting_Vba - Fatal编程技术网

Excel 使用VBA进行排序时出现错误结果

Excel 使用VBA进行排序时出现错误结果,excel,sorting,vba,Excel,Sorting,Vba,我有这个代码来对Excel表格进行排序 'for the ascending order Range("A14:CB" & lastRow).Sort key1:=Range(Col & "14:" & Col & lastRow), Order1:=xlAscending, Header:=xlNo, key2:=Range("C14:C" & lastRow), Order2:=xlAscen

我有这个代码来对Excel表格进行排序

'for the ascending order
Range("A14:CB" & lastRow).Sort key1:=Range(Col & "14:" & Col & lastRow), Order1:=xlAscending, Header:=xlNo, key2:=Range("C14:C" & lastRow), Order2:=xlAscending, Header:=xlNo
'for the descending order
Range("A14:CB" & lastRow).Sort key1:=Range(Col & "14:" & Col & lastRow), Order1:=xlDescending, Header:=xlNo, key2:=Range("C14:C" & lastRow), Order2:=xlAscending, Header:=xlNo
这是我在
Col=J

这就是我在
Col=J


两者显然都错了。VBA代码中是否有我没有看到的错误?

Excel的排序功能非常好,例如,选择一个范围并运行以下操作:

Option Explicit

Sub TestMe()

    Selection.Sort key1:=Selection, Order1:=xlDescending

End Sub
在代码中,应该检查定义范围的变量。例如,
lastRow
Col
。在代码顶部写下如下内容:

debug.print lastRow
debug.print Col

lastRow
是17(数据从14开始),而
Col
是10(当选择J列时),那么您对这里的
范围(Col&“14:&Col&lastRow)
有什么期望呢?例如,如果您转到即时窗口并编写
?Col&“14:&Col&lastRow
它会给您什么?我想您在下一次错误恢复时有
的地方
在下一次错误恢复时
已被删除,但问题仍然存在。在
范围(…)
中,我希望充当
范围(“J14:J17”)
在即时窗口中写入您要求的内容,返回
1014:1017
范围(“A14:CE”和lastRow)。排序键1:=范围(单元格(14,列),单元格(lastRow,列)),顺序1:=xlAscending,标题:=xlNo,键2:=范围(“C14:C”和lastRow),顺序2:=Ascending,Header:=xlNo
确实解决了问题