標題:
[發問]
請問陣列該如何簡化
[打印本頁]
作者:
alex520188
時間:
2012-8-17 23:52
標題:
請問陣列該如何簡化
各位大大好
我要陣列30個sheets 這樣打下去可能會很長...
請問以下該如何簡化
Sub TEST()
Dim x%
Dim bx(30) As String
For x = 1 To Sheets.Count
bx(x) = Sheets(x).Name
Next x
If Sheets.Count = 2 Then Sheets(Array(bx(1), bx(2))).Select
If Sheets.Count = 3 Then Sheets(Array(bx(1), bx(2), bx(3))).Select
If Sheets.Count = 4 Then Sheets(Array(bx(1), bx(2), bx(3), bx(4))).Select
If Sheets.Count = 5 Then Sheets(Array(bx(1), bx(2), bx(3), bx(4), bx(5))).Select
If Sheets.Count = 6 Then Sheets(Array(bx(1), bx(2), bx(3), bx(4), bx(5), bx(6))).Select
.
.
.
.
.
.
End Sub
複製代碼
作者:
white945
時間:
2012-8-18 00:06
回復
1#
alex520188
Sub nn()
Dim sh()
For i = 1 To Sheets.Count
ReDim Preserve sh(i - 1)
sh(i - 1) = Sheets(i).Name
Next
Sheets(sh).Select
End Sub
複製代碼
作者:
alex520188
時間:
2012-8-18 00:55
回復
2#
white945
謝謝 white945 老師的指導
真的簡化好多
這一行 我不懂
ReDim Preserve sh(i - 1)
這句是什麼意思
作者:
chin15
時間:
2012-8-18 07:27
sheets就是工作表陣列物件
選中所有工作表只須 :sheets.select 即可
作者:
c_c_lai
時間:
2012-8-18 07:56
回復
3#
alex520188
ReDim 用來重新配置動態陣列變數的儲存空間。
Preserve 選擇性引數。當改變原有陣列最後一維的大小時,仍然保有原來的資料的關鍵字。
作者:
alex520188
時間:
2012-8-18 12:17
回復
4#
chin15
原來弄了一大串 只需要 sheets.select
chin15 老師感謝你
我又上了一課。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)