2

私は VBA を使用したことがないため、これは簡単なタスクである可能性がありますが、機能させることはできません :-) 次のコードで実行時エラーをキャッチする必要があるだけです。

Private Sub CheckBox1_Click()

ActiveWorkbook.Sheets("(X)").Unprotect
ActiveWorkbook.Sheets("(X)").Select
ActiveSheet.Range("F18").Select
'here comes the error
ActiveSheet.Range("$A$2:$X$310").AutoFilter Field:=1, Criteria1:="1"
Sheets("(40 UKÁŽKA)").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
4

2 に答える 2

2

古い学校のエラー処理へようこそ。

あなたが探しているのはどちらかです

Sub MySub()
  On Error Resume Next
    DoMyStuff()
End Sub

この問題を飲み込みたい場合、たとえば Try Catch End と同等

また

Sub MySub()
  On Error Goto ErrorHandler
    DoMyStuff()
  KeepGoing :
    DoSomeMoreStuffAnyway() 
  Exit Sub

ErrorHandler:
  HandleTheError()
Exit Sub

変数 Err からエラー番号を取得できます。また、エラーが発生した後に修正して Resume を呼び出し、次のコード行に移動することもできます。上記の Resume KeepGoing など、ラベルに Resume To を実行することもできます。

詳細はこちらMSDN VBA エラー処理

于 2013-08-17T12:39:44.817 に答える