作者:乔山办公网日期:
返回目录:excel表格制作
今天讲解如何用 VBA 给表格排序。
案例:
对下表排序,排序优先顺序依次为“实际奖金”和“奖金基数”,从大到小排。
方法:
1. 按 Alt + F11 打开 VBE,输入以下代码:
Sub st()
Range("A1:E9").CurrentRegion.Sort KEY1:=Range("E1"), ORDER1:=xlDescending, _
KEY2:=Range("C1"), ORDER2:=xlDescending, _
Header:=xlYes
'设置需要排序的区域范围"A1:E9",第一、第二排序字段依次为"E1"和"C1",顺序都为倒序,第一行需要包含标题
End Sub
部分代码释义:
- Range("A1:E9").CurrentRegion.Sort:对括号中的区域排序
- KEY1:=Range("E1"), :第一个排序字段为 E1,即“实际奖金”
- ORDER1:=xlDescending:第一个排序顺序是降序排列。如果需要升序,= 后面就写 xlAscending
- _:空格+下划线是 vba 代码换行符,代码过长的情况下,换行会增加可读性。代码虽然换行,但还是一整句,所以在这后面无法添加注释
- Header:=xlYes:需要包含标题,如果不需要,就写 xlNo
2. 制作按钮:
1) 在表格界面点击“开发工具”-->“插入”-->“按钮”
2) 将按钮名称改为“排序”
3) 将按钮的宏指定为上述“st”
3. 现在点击按钮运行代码,就已经按照我们要求排序了