1

私は VBA の初心者で、両方とも独立して動作する 2 つの小さなスクリプトを持っていますが、両方を同時に動作させることはできません (方法がわからないためです!)

スクリプト 1:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("AE49")) Is Nothing Then Exit Sub

    Select Case Target.Value
       Case 1
          Range("A50:A52").EntireRow.Hidden = False
          Range("A53:A55").EntireRow.Hidden = True
       Case 2
          Range("A50:A53").EntireRow.Hidden = False
          Range("A54:A55").EntireRow.Hidden = True
       Case 3
          Range("A50:A54").EntireRow.Hidden = False
          Range("A55").EntireRow.Hidden = True
       Case 4
          Range("A50:A55").EntireRow.Hidden = False
    End Select
End Sub

スクリプト 2:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("AE25")) Is Nothing Then Exit Sub

    Select Case Target.Value
       Case 1
          Range("A26:A28").EntireRow.Hidden = False
          Range("A29:A35").EntireRow.Hidden = True
       Case 2
          Range("A26:A29").EntireRow.Hidden = False
          Range("A30:A35").EntireRow.Hidden = True
       Case 3
          Range("A26:A30").EntireRow.Hidden = False
          Range("A31:A35").EntireRow.Hidden = True
       Case 4
          Range("A26:A31").EntireRow.Hidden = False
          Range("A32:A35").EntireRow.Hidden = True
       Case 5
          Range("A26:A32").EntireRow.Hidden = False
          Range("A33:A35").EntireRow.Hidden = True
       Case 6
          Range("A26:A33").EntireRow.Hidden = False
          Range("A34:A35").EntireRow.Hidden = True
       Case 7
          Range("A26:A34").EntireRow.Hidden = False
          Range("A35").EntireRow.Hidden = True
       Case 8
          Range("A26:A35").EntireRow.Hidden = False
    End Select
End Sub

モジュールの使い方がわからないので、これらを VBA エディタの「コードの表示」ビットに直接ロードしました。

Z40 の値が PowerPoint または Verbal の場合は行 41 を再表示し、Z40 の値が None の場合は行 41 を非表示にする別のスクリプトも必要です。

皆さん、ありがとうございました!

4

1 に答える 1