- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 119
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-5-17
               
|
本帖最後由 Hsieh 於 2011-11-29 20:33 編輯
回復 6# luffyzoro - Sub nn()
- Set d = CreateObject("Scripting.Dictionary") '創建字典物件
- Set d1 = CreateObject("Scripting.Dictionary") '創建字典物件
- For Each sh In Sheets '以所有工作表做迴圈
- k = k + 1 '設置變數k,每一個工作表增加變數值1
- d(k) = Val(sh.[B2].Value) '將工作表B2的值存入字典物件
- d1(k) = sh.Name '將工作表名稱存入字典物件
- Next
- Do Until d.Count = 0 '執行迴圈,直到字典物件內沒有項目存在
- ar = d.items: ay = d.keys '將字典物件的索引值及內容取出指定給陣列變數
- n = Application.Match(Application.Min(ar), ar, 0) - 1 '找到最小值的序號,因陣列的索引值是從0開始,所以必須將位置減1,才是對照的索引值
- ky = ay(n) 'ky會得到目前字典物件內容(B2值)的最小值對應的工作表名稱
- d.Remove ky '移除字典項目
- Sheets(d1(ky)).Move after:=Sheets(Sheets.Count) '將工作表移動到最後
- Loop
- End Sub
複製代碼 |
|