標題:
可否巨集執行中途+人手操作
[打印本頁]
作者:
enoch
時間:
2012-6-6 12:18
標題:
可否巨集執行中途+人手操作
請問巨集可否在執行期間, 遇到指定情況下 暫停操作 (例如當工作表不存在)
讓使用者可以人手操作 (例如新增工作表), 再按鍵繼續執行餘下巨集指令
請指教
作者:
chchang76
時間:
2012-6-6 12:39
我印象中我學過可以寫 當出現ERROR 或不正確值的時候 可以跳出視窗請使用者是否要繼續 或修正數值
應該是可以辦得~ 前提只是你要知道甚麼情況需要強制中止!
作者:
GBKEE
時間:
2012-6-6 13:03
回復
1#
enoch
類似這樣嗎?
Option Explicit
Sub Ex()
Dim xlSheetName As String
On Error GoTo xlErr
xlSheetName = "我的工作頁" '工作表的名稱
Sheets(xlSheetName).Activate
Exit Sub
xlErr:
If Err = 9 Then
If MsgBox("[ " & xlSheetName & " ] 不存在 " & Chr(10) & "新增 [ " & xlSheetName & " ] ?", vbYesNo) = vbYes Then
ActiveWorkbook.Sheets.Add.Name = xlSheetName
Resume
End If
End If
MsgBox "程式中斷"
End Sub
複製代碼
作者:
enoch
時間:
2012-6-6 14:32
GKBEE
不好意思, 我表達得唔清楚
在以上程式若執行到 ERR=9 之後,
能否有空間改為人手操作,而不限於預定的執行指示: 指定的新增工作表,
例如可能想將現有工作表改名為 "我的工作頁"
當人手做完之後再返回程式執行
實際問題:
想寫程式當發現檔案只有一頁工作表, 自動列印第一頁, 若多於一張工作表,
則人手選擇第幾頁後, 再繼續執行列印
煩請再指教
作者:
Hsieh
時間:
2012-6-6 15:21
回復
4#
enoch
如果要設定列印頁數
Sub ex()
ActiveWindow.View = xlPageBreakPreview
With 工作表1
If .HPageBreaks.Count = 0 Then
.PrintOut
Else
.PrintPreview
End If
End With
ActiveWindow.View = xlNormalView
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)