1. vba对数据进行排序
一、插入超级表
首先我们需要点击表格然后按下快捷键Ctrl+T将表格转换为超级表。我们这个做是为了在新增数据的时候表格也能实现自动排序的效果
二、录制宏
首先我们需要明白你想要按照哪一列进行排序,在这里我们想要根据总分这一列数据来排序。
我们点击【开发工具】功能组,随后在其中找到录制宏,会自动跳出录制宏的界面,我们将宏名称设置为【排序】然后点击确定。因为刚才将普通表转换为了超级表,表头字段的右下角是有排序按钮的,我们在这里直接选择降序,就是从大到小的排列数据,排序完毕后点击一下单元格,然后在录制宏中点击停止录制,这样的话宏就录制完毕了
三、引用录制宏
紧接着我们在【打开工具】这个功能组中点击【vislua basic】进入vba的编写界面。现在我们是在sheet1这个表格中操作数据,所有需要在这个界面中点击下对应的表格名称,随后在跳出的界面中将通用设置为【worksheet】,然后在右上角选择【change】将多余的代码删除掉,随后在中间输入【排序】就是刚才定义的宏名称,这样的话就设置完毕了,直接关闭掉即可
四、更改样式
随后点击表格,在表设计中将表的样式设置为无样式,然后将筛选按钮的对勾去掉,为总分这一列数据添加一个数据条即可,至此就设置完毕了,我们更改数据他就能实现自动排序的效果了
在这里需要注意的是因为利用了录制宏,直接保存的话会提示不能保存vb项目,我们需要将文件另存为可以保存宏的格式,常用的就是xlsm格式。
2. vba如何对excel数据排序
执行如下VBA程序即可:Sub PaiXu()Dim arr(1 To 6), tempDim i, nFor i = 1 To 6 arr(i) = Range("A" & i).ValueNext iFor n = 6 To 2 Step -1 For i = 2 To n If arr(i)
3. vba对数据进行排序的方法
用vba事件可以,当前表为活动表时,循环首行非空单元格,如果某单元格数字等于当前日期,则选中该单元格下面的单元格
4. vba 排序函数
1、带参数名引用,如: key1:=Range("G3")
2、 参数位置引用,即按照上述Sort命令的参数顺序直接应用,
如: Range("A1:I19").Sort key1:=Range("G3") 即第1位置参数即为key1
3、Order1、Order2、Order3
这些Order是排序的顺序模式指定参数。即: A-Z升序、或Z-A降序
参数的模式名称为:
A-Z升序= xlAscending 或直接=1
Z-A降序= xlDescending 或直接=2
带参数名引用时:
Order1:=xlAscending 或 Order1:= 1
参数位置引用时,紧跟key后面。(但注意key2和Order2之间要隔一个Type参数)
4、Header
即是否有标题行参数,一共有3个值:
Header:= xlGuess=0 或xlYes=1 或 xlNo=2
即=xlGuess、或=0时,工作表自己判断
=xlYes、或=1时,强制第1行为列标题,即第1行【不参与排序】
=xlNo、或=2时,强制没有列标题。即第1行【也参与排序】
带参数名引用时:
如: Header:= xlGuess
参数位置引用时,在第7个逗号之后。
(如果key只有1个时,要连续空6个逗号,
如:Range("A1:I19").Sort Range("A1"), 1, , , , , , 2 (order1之后连续写6个逗号)
5、MatchCase 是否匹配大小写
MatchCase:=False 、或=0 不区分大小写
MatchCase:=True 、或=1 区分大小写(Case Sensitive)
6、Orientation 排序方向
一般为同一列中从上到下各行进行排序:Orientation:= xlTopToBottom 、或=1
如果是: 同一行中从左到右各列进行排序,则为:Orientation:= xlLeftToRight、或=2
7、SortMethod 排序方法
按拼音排序: SortMethod:= xlPinYin 、或=1 (Use phonetic info)
按笔画排序: SortMethod:= xlStroke、或=2
8、 DataOption1 按数值或按文本排序
DataOption1:= xlSortNormal
9、以上综合示例为: 按参数名引用:
Range("A1:I19").Sort key1:=Range("G3"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _
DataOption1:=xlSortNormal
直接按参数位置:
Range("A1:I19").Sort [G3], 1, , , , , ,0, 1, 0, 1, 1,1
或根据默认为:Range("A1:I19").Sort [G3], 1
5. vba对数据进行排序命令
一、插入超级表
首先我们需要点击表格然后按下快捷键Ctrl+T将表格转换为超级表。我们这个做是为了在新增数据的时候表格也能实现自动排序的效果
二、录制宏
首先我们需要明白你想要按照哪一列进行排序,在这里我们想要根据总分这一列数据来排序。
我们点击【开发工具】功能组,随后在其中找到录制宏,会自动跳出录制宏的界面,我们将宏名称设置为【排序】然后点击确定。因为刚才将普通表转换为了超级表,表头字段的右下角是有排序按钮的,我们在这里直接选择降序,就是从大到小的排列数据,排序完毕后点击一下单元格,然后在录制宏中点击停止录制,这样的话宏就录制完毕了
三、引用录制宏
紧接着我们在【打开工具】这个功能组中点击【vislua basic】进入vba的编写界面。现在我们是在sheet1这个表格中操作数据,所有需要在这个界面中点击下对应的表格名称,随后在跳出的界面中将通用设置为【worksheet】,然后在右上角选择【change】将多余的代码删除掉,随后在中间输入【排序】就是刚才定义的宏名称,这样的话就设置完毕了,直接关闭掉即可
四、更改样式
随后点击表格,在表设计中将表的样式设置为无样式,然后将筛选按钮的对勾去掉,为总分这一列数据添加一个数据条即可,至此就设置完毕了,我们更改数据他就能实现自动排序的效果了
在这里需要注意的是因为利用了录制宏,直接保存的话会提示不能保存vb项目,我们需要将文件另存为可以保存宏的格式,常用的就是xlsm格式。
6. vba对数据进行排序怎么操作
vba设置从任意一行开始排序方法:
1、进入EXCEL,ALT+F11进入VBA编辑器。
2、在编辑区输入VBA语言Sub Macro1(),VBA 语言选择整行整列的语句End Sub。
3、在工作表中插入表单控件,并指定到宏Macro1。
4、点击表单控件,语言中的整行整列就被选中了。实现整行/列的遍历。
7. vba 数据排序
可以,先用VBA的宏看看,有公式的,然后拷贝过来就行了
8. vba中排序的代码
直接辅助列取后四位数字排序不是更简单?=RIGHT(a1,4)
9. vba快速排序
VBA中,对范围单元格的排序,是通过Sort方法来实现的。
用法
expression.Sort(Key1, Order1, Key2, Type, Order2, Key3, Order3, _
Header, OrderCustom, MatchCase, Orientation, SortMethod, _
DataOption1, DataOption2, DataOption3)
Key1~3 排序的field。即需要排序的列 or 单元格范围。
Order1~3 顺序or降序。可能值是 顺序 xlAscending,降序 xlDescending
Type 排序种类
Header 是否指定标题行,标题行不参与排序。可能值:xlGuess(Excel自动判断),xlNo(不指定标题行),xlYes(指定标题行)
OrderCustom 定制排序。
MatchCase 是否区分大小写。
Orientation 排序的方向 可能值 xlTopToBottom(行方向优先) xlLeftToRight(列方向优先)
SortMethod 排序方法 可能值包括xlPinYin(拼音排序),xlStroke(笔画排序)
DataOption1~3 Excel2002新追加参数。
10. vba 单元格排序
请参考如下代码:
Range("A1:A10").Select '选中需要排序的数据区域 '按A列升序排,有标题行 Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortTextAsNumbers '按A列降序排,无标题行 Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal在宏编辑器中,点中代码中的 Selection.Sort 再按 F1,即可看到Excel VBA关于排序的完整详细的帮助说明与举例.GoodLuck!
- 相关评论
- 我要评论
-