- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2015-11-21 15:22
| 只看該作者
回復 1# RCRG
試試看- Option Explicit
- Sub Ex()
- Dim xDay As Date, i As Date, x As Date
- On Error Resume Next
- AG:
- Do
- xDay = InputBox("輸入日期", "工作表日期", Date)
- If Err > 0 Then Err.Clear: GoTo AG ' 日期格式錯誤:程式移到 AG 執行
- x = MsgBox("確定日期 為: " & Format(xDay, "Dddddd"), vbYesNoCancel, "工作表日期")
- If x = vbCancel Then Exit Sub '取消鍵: 離開這程式
- Loop Until x = vbYes '確定鍵: 離開這迴圈
- On Error GoTo Er
- Application.DisplayAlerts = False
- For i = xDay To xDay + 15 * 2 Step 4 '間隔4天
- For x = i To i + 1 '連續2天
- Sheets("原始檔").Copy after:=Sheets(Sheets.Count)
- ActiveSheet.Name = Format(x, "Dddddd") '有這工作表日期程式或有錯誤
- Next
- Next
- Application.DisplayAlerts = True
- Exit Sub
- Er: '處裡工作命名的錯誤
- Sheets(Format(x, "Dddddd")).Delete
- Resume '回到錯誤的程式碼
- End Sub
複製代碼 |
|