工作表参考在Excel 2013中不起作用

时间:2016-01-22 22:00:14

标签: excel vba excel-vba

无论如何,这行代码在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年之间不起作用,需要添加什么才能使它工作。

1 个答案:

答案 0 :(得分:0)

Excel 2013正在执行您所说的内容并仅对您指定的范围进行排序,而Excel 2010似乎会自动将范围扩展到相邻的单元格(目前我无法访问Excel 2010)。 / p>

您可以强制Excel使用 CurrentRegion 属性扩展范围:

wsCheck.Range("XEK2:XEK" & SG2Count).CurrentRegion.Sort Key1:=wsCheck.Columns("XEK"), Order1:=xlAscending, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, Header:=xlYes