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