- 帖子
- 913
- 主題
- 150
- 精華
- 0
- 積分
- 1089
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- office 2019
- 閱讀權限
- 50
- 性別
- 女
- 註冊時間
- 2011-8-28
- 最後登錄
- 2023-7-19
 
|
19#
發表於 2012-5-6 16:31
| 只看該作者
回復 17# oobird
Hi oobird,
執行ok.
請教語法問題:
1) 以下替換為你所寫的另一語法(如下表):
For i = 5 To 12 (我使用的sample因為1~3月份已刪除,所以我將之改為2~7)
Sheets(i).Activate '執行工作
Next
但無法執行,是否我把哪裡給改錯了?
2) 另一語法 If InStr("MayJunJulAugSepOctNovDec", sh.Name) Then
我看到上述2個語法都是要將每一毎工作表寫出來,我想知道有沒有"指定式"的?(例:從sheet(May)開始至最後一個工作表,而不用將May之後的每個工作表都列出?- Workbooks("2012 samples Chart.xlsx").Activate
- For i = 2 To 7 '從2nd的工作表執行至7st
- Sheets(i).Activate '執行工作
- sh.UsedRange = sh.UsedRange.Value '把公式結果變成值
- sh.AutoFilterMode = False '取消自動篩選
- sh.[a4:ad4].AutoFilter '建立自動篩
- n = sh.[AC1000].End(3).Row 'ac欄最後儲存格列號
- sh.Sort.SortFields.Clear '清除重建排序條件
- ar = Array("ac", "u", "q", "c", "d")
- For i = 0 To UBound(ar)
- sh.Sort.SortFields.Add Key:=sh.Range(ar(i) & "5:" & ar(i) & n)
- Next
- With sh.Sort '對指定範圍以指定條件排序
- .SetRange sh.Range("A5:AD" & n)
- .Header = xlNo
- .MatchCase = False
- .Orientation = xlTopToBottom
- .SortMethod = xlPinYin
- .Apply
- End With
- End If
- Next '下一個工作表
- End Sub
複製代碼 |
|