一次对工作簿中的所有工作表进行排序

时间:2013-07-19 14:16:32

标签: sorting excel-vba vba excel

我有一个包含4个工作表的工作簿(Sheet1,Sheet2,...)。床单的格式相同;列是相同的变量,但它们在下面具有不同的值。所以从理论上讲,它们应该能够以相同的方式进行排序。我试图按住Ctrl键选择所有选项卡,但此时“排序”选项变得不可用。

有没有人知道如果没有为4张纸中的每张纸制作不同的宏,是否有办法做到这一点?这看起来很烦人。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

我假设您指的是菜单功能排序。 它不允许用户选择不同工作表中的单元格并对其进行排序。 您可以实现一个For循环来对同一宏中每个工作表中的数据进行排序。 类似于以下内容

Sub SortingAllWorksheet()
Dim wsh As Worksheet
For Each wsh In ThisWorkbook.Sheets
    'sort columns A to C based on data in column C
    wsh.Columns("A:C").Sort key1:=Range("C2"), order1:=xlAscending, Header:=xlYes
Next
End Sub