Option Explicit
Public Bln_Err As Boolean
Public Twb As Workbook
Public wsMain As Worksheet
Public wsCtrl As Worksheet
Sub SetObject()
Set Twb = ThisWorkbook
Set wsMain = Twb.Worksheets("Main")
Set wsCtrl = Twb.Worksheets("Ctrl")
End Sub
Sub ReSetObject()
Set Twb = Nothing
Set wsMain = Nothing
Set wsCtrl = Nothing
End Sub
'*****************************************************
' 画面制御セット
' Call StopUpdating
'*****************************************************
Sub StopUpdating()
With Application
.ScreenUpdating = False '画面描画停止
.EnableEvents = False 'イベント動作停止
.EnableCancelKey = xlInterrupt '[Esc]キーでエラーをトラップする
'=========================
'.EnableCancelKey = xlInterrupt '[Esc]キーでVBAの実行を止める(なかなか止まらない)
'.EnableCancelKey = xlErrorHandler '[Esc]キーでエラーをトラップする
'On Error GoTo ★★★_Err と使用する
'.EnableCancelKey =xlDisabled '[Esc]キーを無効にする
'=========================
' .Cursor = xlWait
.DisplayAlerts = False '警告非表示
'.Calculation = xlCalculationManual '計算を手動に設定 '場合によって
.DisplayAlerts = False '警告非表示
.DisplayStatusBar = True 'ステータスバーを表示
End With
End Sub
'*****************************************************
' 画面制御セット
' Call Updating
'*****************************************************
Sub Updating()
With Application
.ScreenUpdating = True '画面描画再開
.EnableEvents = True 'イベント動作再開
.Cursor = xlDefault
'.Calculation = xlCalculationAutomatic '計算を自動に設定 '場合によって
.DisplayAlerts = True '警告再表示
.StatusBar = False 'ステータスバーを表示
End With
End Sub
'-----------------------------------------------------
' ステータスバーを使用する
' Call showStatus(msg)
'-----------------------------------------------------
Public Sub showStatus(ByVal msg As String)
'エラーを無視
On Error Resume Next
Application.StatusBar = msg
'エラー制御を戻す
On Error GoTo 0
End Sub
'-----------------------------------------------------
' ステータスバーをClear
' Call ClearStatus
'-----------------------------------------------------
Public Sub ClearStatus()
'エラーを無視
On Error Resume Next
Application.StatusBar = False
'エラー制御を戻す
On Error GoTo 0
End Sub
'-----------------------------------------------------
' OSに制御を渡す
' Call exeBreak
'-----------------------------------------------------
Public Sub exeBreak()
'エラーを無視
On Error Resume Next
DoEvents
'エラー制御を戻す
On Error GoTo 0
End Sub
コメント