如何将多行多列单元格区域按照升序或者降序排列

时间:2024-10-26 00:27:39

1、 首先将开发工具显示在主菜单中:打开一个文档,单击左上角【文件】——【选项】——【自定义功能区】在页面右侧框中找到【开发工具】,在其左侧复选框中打勾,点击确定,即可。这样,开发工具选项就出现在功能区中。如下图

如何将多行多列单元格区域按照升序或者降序排列
如何将多行多列单元格区域按照升序或者降序排列

2、 进入开发界面。单击【开发工具】,可以在左侧看见【Visual Basic】,单击【Visual Basic】控件就进入VBA开发界面。单击【插入】——【模块】就进入编辑界面。

如何将多行多列单元格区域按照升序或者降序排列
如何将多行多列单元格区域按照升序或者降序排列

3、 新建子过程单击【插入】——【过程】得到如下,名称中自己写喜欢的名字,如:过程排序——类型选择子过程(s)——单击【确定】

如何将多行多列单元格区域按照升序或者降序排列
如何将多行多列单元格区域按照升序或者降序排列

4、 编辑代码然后代码如下:arr1 = Selection ’运行前首先要选择需要排序的区域x = UBound(arr1, 1)y = UBound(arr1荑樊综鲶, 2)Dim arr2()For i = 1 To x For j = 1 To y ReDim Preserve arr2(1 To x, 1 To y) m = (i - 1) * y + j s = WorksheetFunction.Small(arr1, m) ’small函数按照升序排列,反之,large函数按照降序排列 arr2(i, j) = s Next jNext i[h1].Resize(x, y) = arr2 ’[h1]为指定目标位置End Sub

5、 运行子过程首先在工作表中选中需要排序的区域,然后在VB编辑界面中单击【F5】即可实现排序。如下:特别注意:当然,为了方便操作,在代码编辑完成后可以添加一个控围泠惶底件,直接在工作表中操作。依次点击【开发工具】——【插入】——表单控件中选择左上角的控制按钮。然后单击过程排序,就可以实现。同时可以将按钮1 的名字改为自己喜欢的名字,如:给大爷排序在工作表中选中需要排序的区域(这次选择A1~F6区域)再单击【给大爷排序】就可以实现。不要忘记了,要将工作表另存为启用宏的工作簿(xlm),以后打开才能继续使用。

如何将多行多列单元格区域按照升序或者降序排列
如何将多行多列单元格区域按照升序或者降序排列
如何将多行多列单元格区域按照升序或者降序排列
如何将多行多列单元格区域按照升序或者降序排列

6、 通过函数过程实现代码如下:Public Function 函数排序(rng As Range) ’ 注意函数参数的类型arr1 = rngx = UBoun颊俄岿髭d(arr1, 1)y = UBound(arr1, 2)Dim arr2()For i = 1 To x For j = 1 To y ReDim Preserve arr2(1 To x, 1 To y) m = (i - 1) * y + j s = WorksheetFunction.Small(arr1, m) arr2(i, j) = s Next jNext i函数排序 = arr2End Function

如何将多行多列单元格区域按照升序或者降序排列

7、 调用函数选择指定位置的单元格区域(注意范围要和拟定排序的区域大小一致),然后在公式框直接输入=函数排序()在括号内选择需要排序的区域,然后同时按下【Ctrl+Shift+Enter】三键,即可实现效果。例如:选择H12~M18区域作为存放结果的区域,然后在公式框输入=函数排(A1~F7),再按三键,即可实现。

如何将多行多列单元格区域按照升序或者降序排列
© 手抄报圈