當前位置:成語大全網 - 書法字典 - 如何對Vba排序

如何對Vba排序

EXCEL的標準函數無法解決壹些特殊的排序要求。這時,可以用VBA來對應。比如有壹個原始數據表,如圖:

根據這些原始數據,建立分類匯總數據表,如下圖所示:

要求是當日程數據發生變化時,希望匯總表能自動排序。這樣的需求不能通過手工自動排序。這樣的要求只能依靠VBA。首先,編譯壹個排序程序,代碼如下:

子排序()

將我的工作表調成字符串

Dim arr(1到3,1到2)

將I,J,K表示為整數

Dim M_S1 As String '存儲交換區名稱。

Dim M_S2作為雙'商店交換銷售。

MYsheet = "匯總排名"

工作表(我的工作表)。挑選

將值讀入數組。

對於I = 1到3

對於J = 1到2

arr(I,J) = Cells(I + 1,J + 1)

下壹個J

接下來我

整理

對於I = 1到2

對於J = I + 1到3

If arr(I,2)& lt;那麽arr(J,2)

?M_S1 = arr(I,1)

?S2 = arr(I,2)

?arr(I,1) = arr(J,1)

?arr(I,2) = arr(J,2)

?arr(J,1) = M_S1

?arr(J,2) = M_S2

如果…就會結束

下壹個J

接下來我

將數組的排序結果存儲在單元格中。

對於I = 1到3

單元格((I + 1),2) = arr(I,1)

接下來我

末端接頭

然後編寫壹個單元格內容變化的事件觸發程序,代碼如下:(註意:這段代碼要放在原始數據表中)

私有子工作表_change(ByVal目標作為範圍)

如果目標。列& lt那麽= 4

?分類

如果…就會結束

末端接頭