2016-12-05 18 views
0

私はドロップダウンリスト(AH、AR、CHなど)を持つExcelスプレッドシートを持っています。ドロップダウンで選択された値に依存して、一連のvlookupであるシート変更の値に依存します。 これらのうちのいくつかは空の行を返し、空の場合は行を隠すマクロを持っています。ドロップダウンリストから値を選択するときにマクロを呼び出すことはできますか?

マクロがクリックで呼び出されるように、ドロップダウンにマクロをassisgnできる方法はありますか?

+1

はい、ここの回答を参照してください。http://stackoverflow.com/questions/17339568/trigger-event-when-select-from-dropdown – User632716

答えて

1

特定のワークシートモジュールにアクセスする必要があります。シート名を右クリックしてビューコードを選択すると実行できます。この時点では、セルA1の値は

Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Target, Me.Range("A1")) Is Nothing Then 
     Select Case Target.Value 
      Case "DropdownValue1" 
       'do something 
      Case "DropdownValue2" 
       'do something else 
     End Select 
    End If 
End Sub 
+0

それはプライベートサブWorksheet_Changeを働く習慣(Target、ThisWorkbook.Sheets( "Sheet10")。Range( "A1"))Nothing Then Target.Value = "AH"の場合 HideRows ElseIf Target.Value = "AR" Then HideRows ElseIf Target.Value = "BI" Then HideRows End If のElseIf Target.Value = "CH" そして HideRows END IF のElseIf Target.Value = "CHL" 次に HideRowsエンドそして のElseIf Target.Value = "CL" HideRows END IF のElseIf Target.Value場合= "CN" Then HideRows End If End If End Sub – georged

+0

私はまだこの仕事を得ることができません何が間違っている – georged

0

を変更したときは、Worksheet.Changeイベントにマクロを割り当て、特定のマクロを実行条件を追加することができ、コードを実行する、以下のようなWorksheet_Changeサブ何かを使用する必要がありますその値に基づいて例えば

Private Sub Worksheet_Change(ByVal Target as Range) 

If Not Intersect(Target, Thisworkbook.Sheets("WorksheetName").Range("AH")) Is Nothing 
    If Target.Value = "DropdownValue1" Then 
     Macro1 
    Elseif Target.Value = "DropdownValue2" Then 
     Macro2 
    Elseif Target.Value = "DropdownValue3" Then 
     Macro3 
    End if 
End if 

End Sub 
関連する問題