如何在Excel中按值自動對列進行排序?
例如,您有一個如下圖所示的采購表。 現在您希望在此列中輸入新數字/價格時自動對價格列進行排序,您該如何解決? 在這里,我介紹一個 VBA 宏來幫助您在 Excel 中按值自動對特定列進行排序。
使用VBA按值自動對列進行排序
使用VBA按值自動對列進行排序一旦您在Excel中輸入新數據或更改列中的值,此VBA宏就會自動對特定列中的所有數據進行排序。
1。 右鍵單擊當前工作表名稱 工作表標簽欄,然后單擊 查看代碼
從右鍵單擊菜單中。
2
。 在打開的Microsoft Visual Basic for Application對話框中,將以下VBA宏代碼粘貼到打開的窗口中。
VBA:Excel中的自動排序列
Private Sub Worksheet_Change(ByVal Target As Range)On Error Resume NextIf Not Intersect(Target, Range("B:B")) Is Nothing ThenRange("B1").Sort Key1:=Range("B2"), _Order1:=xlAscending, Header:=xlYes, _OrderCustom:=1, MatchCase:=False, _Orientation:=xlTopToBottomEnd IfEnd SubCopy備注
:
1)在上面的vba代碼中, B:B 意味著它將自動對B列進行排序, B1 是 B 列中的第一個單元格, B2是 B 列中的第二個單元格,您可以根據需要更改它們。
2) 片段 標頭:=xl是 在第 5 行告訴 Excel 您將排序的范圍有一個標題,以便在排序時不包括該范圍的第一行。 如果沒有標題,請將其更改為 標題:=xlNo; 和改變 鍵1:=范圍(“B2”) 在第 4 行 鍵1:=范圍(“B1”).3
。 然后返回工作表,當您在“價格”列中輸入新數字或修改任何現有價格時,“價格”列將自動按升序排序。
備注:當您在價格列中輸入新數字時,您必須在原始數字下方的第一個空白單元格中輸入數字。 如果新輸入的數字與原數字之間有空白單元格,以及原數字之間有空白單元格,則該列不會自動排序。演示:使用Excel中的VBA自動按值對列進行排序 Kutools for Excel 包括適用于Excel的300多種便捷工具,可以在之內。 立即下載并!在Excel中輕松按出現頻率排序Kutools for Excels 高級排序 該實用程序支持在Excel中按文本長度,姓氏,絕對值,頻率等對數據進行快速排序。
全功能 30-天!最佳辦公生產力工具
將小時轉化為分鐘 Kutools for Excel!準備好增強您的 Excel 任務了嗎? 利用的力量 Kutools for Excel - 您終極的節省時間的工具。 簡化復雜的任務并像專業人士一樣瀏覽數據。 以閃電般的速度體驗 Excel!
為什么需要 Kutools for Excel