在VSTO中排列Range对象
在VSTO 2010 Excel中, Range.Sort
方法似乎不适用于我。 这是我的示例代码。 它将数字1到20以相反的顺序放在列A中,然后尝试对它们进行sorting。
Worksheet sheet = Globals.ThisAddIn.Application.ActiveSheet; Enumerable.Range(1, 20).ToList().ForEach(i => sheet.Cells[21 - i, 1] = i); sheet.Columns[1].Sort();
根据文档 ,没有参数的Sort
将按升序sorting。 以防万一我试图指定Order1: XlSortOrder.xlAscending
。
我也试过了
sheet.Columns[1].Select().Sort();
先select列,但是这也不起作用。
我怎样才能sorting一个单元格的Range
?
我在VBA中尝试了你的方法,并且接收到错误“范围类的sorting方法失败”。
我通过传递范围作为方法的“Key1”参数来解决这个问题。 似乎多余,但它的作品。 以下是您应用相同修补程序的示例代码:
Worksheet sheet = Globals.ThisAddIn.Application.ActiveSheet; Enumerable.Range(1, 20).ToList().ForEach(i => sheet.Cells[21 - i, 1] = i); sheet.Columns[1].Sort(sheet.Columns[1]);