如何在Excel中按值自动对列进行排序?
例如,您有一个如下图所示的采购表。 现在您希望在此列中输入新数字/价格时自动对价格列进行排序,您该如何解决? 在这里,我介绍一个 VBA 宏来帮助您在 Excel 中按值自动对特定列进行排序。
使用VBA按值自动对列进行排序
一旦您在Excel中输入新数据或更改列中的值,此VBA宏就会自动对特定列中的所有数据进行排序。
1。 右键单击当前工作表名称 工作表标签栏,然后单击 查看代码 从右键单击菜单中。
2。 在打开的Microsoft Visual Basic for Application对话框中,将以下VBA宏代码粘贴到打开的窗口中。
VBA:Excel中的自动排序列
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
备注:
1)在上面的vba代码中, B:B 意味着它将自动对B列进行排序, B1 是 B 列中的第一个单元格, B2 是 B 列中的第二个单元格,您可以根据需要更改它们。
2) 片段 标头:=xl是 在第 5 行告诉 Excel 您将排序的范围有一个标题,以便在排序时不包括该范围的第一行。 如果没有标题,请将其更改为 标题:=xlNo; 和改变 键1:=范围(“B2”) 在第 4 行 键1:=范围(“B1”).
3。 然后返回工作表,当您在“价格”列中输入新数字或修改任何现有价格时,“价格”列将自动按升序排序。
备注:当您在价格列中输入新数字时,您必须在原始数字下方的第一个空白单元格中输入数字。 如果新输入的数字与原数字之间有空白单元格,以及原数字之间有空白单元格,则该列不会自动排序。
演示:使用Excel中的VBA自动按值对列进行排序
在Excel中轻松按出现频率排序
Kutools for Excel的 高级排序 该实用程序支持在Excel中按文本长度,姓氏,绝对值,频率等对数据进行快速排序。
最佳办公生产力工具
🤖 | Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行 | 生成代码 | 创建自定义公式 | 分析数据并生成图表 | 调用 Kutools 函数... |
热门特色: 查找、突出显示或识别重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式进行四舍五入 ... | |
超级查询: 多条件VLookup | 多值VLookup | 跨多个工作表的 VLookup | 模糊查询 .... | |
高级下拉列表: 快速创建下拉列表 | 依赖下拉列表 | 多选下拉列表 .... | |
列管理器: 添加特定数量的列 | 移动列 | 切换隐藏列的可见性状态 | 比较范围和列 ... | |
特色功能: 网格焦点 | 设计图 | 大方程式酒吧 | 工作簿和工作表管理器 | 资源库 (自动文本) | 日期选择器 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊过滤器 (过滤粗体/斜体/删除线...)... | |
前 15 个工具集: 12 文本 工具 (添加文本, 删除字符,...) | 50+ 图表 类型 (甘特图,...) | 40+ 实用 公式 (根据生日计算年龄,...) | 19 插入 工具 (插入二维码, 从路径插入图片,...) | 12 转化 工具 (小写金额转大写, 货币兑换,...) | 7 合并与拆分 工具 (高级组合行, 分裂细胞,...) | ... 和更多 |
使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松
- 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
- 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
- 每天将您的工作效率提高50%,并减少数百次鼠标单击!