利用宏对Excel行排序.doc

利用宏对Excel行排序.doc

ID:62043629

大小:210.50 KB

页数:3页

时间:2021-04-16

利用宏对Excel行排序.doc_第1页
利用宏对Excel行排序.doc_第2页
利用宏对Excel行排序.doc_第3页
资源描述:

《利用宏对Excel行排序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理勿做商业用途利用宏对Excel行排序前段时间,因数据分析需要,要在Excel中,进行大量的行排序操作,我们知道,对列的排序很简单,但是对行的排序比较复杂。所以经过摸索,得出以下方法。根据工作量大小其可分为两种情况:1。需要排序的行很少,则可以运用一下步骤进行手动排序。  选取要排序的行,“数据”-“排序”-“以当前选定区域排序”,然后点下面的“选项”,在“方向”选择“以行排序”即可。2。需要排序的行很多,且可能有多个表需要行排序,此时再使用上面的方法,则工作量太大。  针对这种需要,需要新的方法,主要思路是利用“选择性黏贴”的转置功能,把行排序转换为列排序,然后录制为宏,把录

2、制的宏添加循环即可实现大量重复的过程。以下举例解释操作过程:第一步:选择“工具”-“宏”-“录制新宏”,在弹出的对话框中,宏名随便(此例为Macro3),主要是快捷键设置,不要与系统默认的冲突(只能是字母),另外要指定宏运行的范围。在“保存在”中共有三个选项,选项不同,下面对宏的编辑有所不同。一般选择“当前工作薄”,如果需要大量处理相似的表,则可保存至“个人工作薄”,点确定,开始录制宏。第二步:选择要排序的行C1:G1,“复制”,选择I1单元格,右键“选择性粘贴”(勾选左下角“转置”)-确定后,I1-I55个单元格从上到下依次为765410,再选中I1:I55个单元格,进行列排序(这个都

3、会),升序或降序依个人需要不同(此例为升序)。排序好的I1:I5重新选择-“复制”-选择K1单元格-右键“选择性粘贴”(同样勾选转置),则在K1:O1的这5个单元格中就会出现已经排序好的数值。4 56 710。结果如下:个人收集整理勿做商业用途第三步:“工具”-“宏”-“停止录制”。第四步:关键的一步。“工具”,“宏”-“宏”,在弹出的“宏”对话框中,列出了刚才录制的宏'Macro3',选择它,点右边的“编辑”选项,会打开一个VB的对话框。接下来,是最后重要的一步,对此宏进行编辑,添加循环语句,以实现自动操作。注意的地方:1。循环语句用for来实现。且要先定义一个整型变量i,通过i的赋值

4、及步长,实现逐行排序,或者间隔排序,或者奇数行排序,或者偶数行排序;2。Excel中的单元格函数引用方法:Cells(行号,列号),需要说明的是,在Excel中,行号是阿拉伯数字表示,列号是26英文字母表示,但是在使用VBA时,列号也可以用阿拉伯对应,及A列,也可称为1列。函数讲解:-----------------------------------------------------------------------------------------------SubMacro3() ---宏开始ﻫ''Macro3Macro'宏由peter.wei 录制,时间:2010-5-22

5、''快捷键:Ctrl+t'                    -----注释部分,以“' ”标出,提示宏名及录制者和时间。   Range("C1:G1").Select   ------选择C1:G1单元格ﻫ    Selection.Copy             -----复制ﻫ【Range("I1").Select        ﻫ   Selection.PasteSpecialPaste:=xlPasteAll, Operation:=xlNone,SkipBlanks:= _ﻫ       False, Transpose:=Trueﻫ   Application.C

6、utCopyMode = False 】   --------选择I1单元格,然后转置粘贴个人收集整理勿做商业用途   【Selection.SortKey1:=Range("I1"), Order1:=xlAscending,Header:=xlGuess, _ﻫ        OrderCustom:=1,MatchCase:=False,Orientation:=xlTopToBottom, SortMethod_        :=xlPinYin,DataOption1:=xlSortNormal】 -----------对I1:I5单元格,按升序排序    【Selectio

7、n.Copyﻫ   Range("K1").Select    Selection.PasteSpecialPaste:=xlPasteAll,Operation:=xlNone,SkipBlanks:=_       False,Transpose:=True】                  -------------选择K1单元格,后转置粘贴ﻫ    ’【Range("R10").Select    ‘ Applicatio

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。