返回列表 上一主題 發帖

[發問] 請問是否可以用儲存格的資料來排序工作表

回復 1# luffyzoro
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Sh As Worksheet
  4.     For Each Sh In Sheets
  5.         Sh.Move Sheets(Sh.[b2])
  6.     Next
  7. End Sub
複製代碼

TOP

回復 3# luffyzoro
Sh.Move Sheets(Sh.[b2])執行到這一行時出現  執行階段錯誤"13" 型態不符
[b2]  須是數字  >0 且 < =Sheets.Count(工作表的總數)  

For Each Sh In Sheets                     -> 在 Sheets工作表集合(物件) ,  依序處裡 Sh(工作表).
       Sh.Move Sheets(Sh.[b2])        ->Sh(這工作表) 的[b2]

TOP

回復 7# luffyzoro
  1. Sub Ex()
  2.     Dim AR(), AR1(), i As Integer, N As Integer, Sh As Worksheet
  3.     ReDim AR(1 To Sheets.Count)                             '設定陣列維數( 1 to 工作表總數)
  4.     ReDim AR1(1 To Sheets.Count)                            '設定陣列維數( 1 to 工作表總數)
  5.     For i = 1 To Sheets.Count
  6.         AR(i) = Val(Sheets(i).[b2])                         'Sheets(i).[b2]數字置入陣列中
  7.     Next
  8.     For i = 1 To Sheets.Count
  9.         AR1(i) = Application.WorksheetFunction.Small(AR, i) '陣列排序由小到大
  10.     Next
  11.     For Each Sh In Sheets
  12.         N = Application.Match(Val(Sh.[b2]), AR1, 0)         '取得 Sh.[b2] 數值於AR1陣列中排序的位置
  13.         Sh.Move Sheets(N)                                   '移動Sh於Sheets(N)之前
  14.     Next
  15. End Sub
複製代碼

TOP

回復 12# luffyzoro
很棒ㄚ, 這就是你要的效果.條條大路通羅馬的,

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題