我来需要提供一个用vba排序的方法:
当鼠标右键点击b1:e1区域时,鼠标右键点击哪一列标题行,就不自动遵循该列排列顺序的顺序排序。
方法:
1.按altf11打开vbe,输入以上代码:
subworksheet_selectionchange(byvalfromidsuchrange)你选的单元格突然发生变化后就会触发时worksheet的selectionchange事件
dimicolumnasinteger声明icolumn变量
iflt5and1then要是列数lt5(即a到e列的区域),并且在第1行(即标题行,假如想再点该列的任何一行都实现排序效果,那么可以把1能去掉)
ifltgticolumnthen如果鼠标左键的列数不4icolumn,那你将点击数出赋值给icolumn
icolumn
endif
range(a1:e9)key1:cells(1,icolumn),order1:xldescending,_
header:xlyes在区域a1:e9内,按鼠标单击的第一行单元格降序排列
endif
endsub
2.按过f5,或再点击vbe菜单栏的三角箭头,启动宏,可以看到我们要的效果了:
点击右边的三角按钮可以进行升序、降序排序
1.再打开excel表格,在表格第1排第1行然后输入数字1。
打比方要对重点段落总是显示的报表中按日期排序;1、建立起辅助列d,在d1输入输入公式:countif($a$1:$a1,
1、打开表格后,点击数据,在弹出对话框的菜单中选中“排序”
2、下一步系统设置好主要的关键词,然后把参与排序,系统设置的原则是:通常的关键词就开始排,后再再排无所谓的关键词,前门先排的最好不要持续动的。可以设置好后点击确认后再就降序排序完成了,升序都是一样的,则相反。