Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
Vba 工作表引用在Excel 2013中不起作用_Vba_Excel - Fatal编程技术网

Vba 工作表引用在Excel 2013中不起作用

Vba 工作表引用在Excel 2013中不起作用,vba,excel,Vba,Excel,无论我做什么,这行代码在excel 2013中都不起作用。wsCheck只是引用工作表: wsCheck.Range("XEK2:XEK" & SG2Count).Sort Key1:=wsCheck.Columns("XEK"), Order1:=xlAscending, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, Header:=xlYes 这在2010年Excel中运行得非常完美,在我的许多宏中都有,但现在添加以下内容后,它

无论我做什么,这行代码在excel 2013中都不起作用。wsCheck只是引用工作表:

wsCheck.Range("XEK2:XEK" & SG2Count).Sort Key1:=wsCheck.Columns("XEK"), Order1:=xlAscending, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, Header:=xlYes
这在2010年Excel中运行得非常完美,在我的许多宏中都有,但现在添加以下内容后,它就不起作用了:

 SortMethod:=xlPinYin, Header:=xlYes

如果没有添加,只需在标题中进行排序。我似乎到处都找不到解决办法。我希望得到一个很好的解释,说明为什么这种方法在2010年和2013年之间不起作用,以及需要添加哪些内容才能起作用。

Excel 2013按照您的要求进行操作,并按照您指定的范围进行排序,而Excel 2010似乎会自动将范围扩展到相邻的单元格(我目前无法访问Excel 2010)

您可以使用CurrentRegion属性强制Excel扩展范围,如下所示:

wsCheck.Range(“XEK2:XEK”&SG2Count).CurrentRegion.Sort关键字1:=wsCheck.Columns(“XEK”),Order1:=xl升序,方向:=xltoptobttom,排序方法:=xlPinYin,标题:=xlYes