0

我有一个 LotusScript 代理,它从 Notes 文档创建一个 Excel 电子表格,有五列,如下所示:

Vendor Name  Plan Year   Plan Month   Project Name       Store
Advantage    2013        2            Dairy_BiProducts   136
Kraft        2013        2            Dairy_BiProducts   330
Daymon       2013        2            Dairy_BiProducts   382
Advantage    2013        2            Dairy_BiProducts   398
Daymon       2013        2            Dairy_BiProducts   616
Advantage    2013        2            Dairy_BiProducts   691

以下行对工作表进行排序:

sheet.Columns.EntireColumn.Sort sheet.Cells(2, 1), 1, , , , , , 1, 1, False, 1,

并最终给我排序的第一列和第二列(尽管目前第二列一直包含“2013”​​,所以我不知道那行代码是否对该列进行排序)。

Sort这里得到了所有内容,但是我找不到方法签名的任何文档,所以我不知道每个参数代表什么,以及如何更改它以按照我想要的方式对电子表格进行排序。我能找到的所有文档都是直接从 VB 中使用Sort方法,这似乎工作方式不同。

我想对 5 列中的每一列进行排序:首先是第一列,然后是第二列,等等。我该怎么做?

4

1 回答 1

0

您是否尝试在 excel 中记录此操作并查看创建的宏?

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("D3:D8"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("E3:E8"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("F3:F8"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("G3:G8"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("Sheet1").Sort
    .SetRange Range("D3:G8")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
于 2014-08-12T00:10:33.567 回答