私はちょっとした障害にぶつかった。Worksheet_ChangeイベントのVBAエラーハンドラ
実行時エラーを防ぐためにエラーハンドラを構築する方法を知りたいと思います。私は偶然という名前のセルProductNumber
に非数値の数で入力し、これは、ワークシートの変更コード
を得た
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Target.Worksheet.Range("People_working_on_Campaign")) Is Nothing Then Toggle_Rows Else End If If Not Intersect(Target, Target.Worksheet.Range("ProductNumber")) Is Nothing Then Toggle_Rows2 Else End If End Sub
これらは私が各セル
のために使用していますマクロですSub Toggle_Rows()
Dim Sheet As Worksheet: Set Sheet = ThisWorkbook.Worksheets("ROI Calculator")
Dim val As Integer
val = Sheets("ROI Calculator").Range("People_working_on_Campaign").Value
Select Case Sheet.Range("People_working_on_Campaign").Value2
Case 1 To 10
Sheet.Rows("45:59").Hidden = True
Sheet.Rows(45).Resize(Sheet.Range("People_working_on_Campaign").Value2).Hidden = False
End Select
End Sub
Sub Toggle_Rows2()
Dim Sheet As Worksheet: Set Sheet = ThisWorkbook.Worksheets("ROI Calculator")
Dim val As Integer
val = Sheets("ROI Calculator").Range("ProductNumber").Value
Select Case Sheet.Range("ProductNumber").Value2
Case 1 To 9
Sheet.Rows("4:12").Hidden = True
Sheet.Rows(4).Resize(Sheet.Range("ProductNumber").Value2).Hidden = False
End Select
End Sub
が言って行を削除し、 'ヴァル= ...' - 彼らが使用されていないと(私は仮定)あなたのエラーの原因です。 'Select Case'ステートメントは、数値以外の値を無視するように設定されています。 – YowE3K