2014-10-21 3 views
1

드롭 다운 메뉴에 3 개의 매크로를 지정하려고했습니다.콤보 박스에 매크로 지정

"표 1", "표 2"및 "표 3"의 세 가지 옵션으로 개발자> 삽입> ComboBox (ActiveX 컨트롤 아님)를 사용하여 콤보 상자를 만들었습니다. 이제 매크로를 세 가지 옵션에 각각 할당하려고합니다. "표 1"을 클릭하면 macro1이 실행됩니다. "표 2"이면 macro2

컨트롤을 마우스 오른쪽 단추로 클릭 한 다음 입력 범위를 선택하여 메뉴를 만들 수있었습니다.

그러나 매크로에 드롭 다운 옵션을 어떻게 연결합니까?

+0

이 컨텍스트에서 '모듈'이 무엇을 의미하는지 정확히 모르겠다. 자신의 코드를 작성한 VBA 모듈을 의미합니까? 어떤 경우에 모듈을 '연결'한다는 것은 그 안에 포함 된 코드를 실행한다는 것을 의미합니까? 또한 어떤 소프트웨어를 사용하고 있는지 알면 도움이됩니다. 사용하는 Office 소프트웨어 (Excel, Access, Word 등)에 따라 답변이 약간 다를 수 있습니다. – Aiken

+0

안녕하세요, Aiken! 예, 저는 VBA에서 Excel과 프로그래밍을 사용하고 있습니다. 모듈로, 나는 VBA 모듈을 의미하고 일부 데이터를 추출하는 코드를 작성했습니다. 아래의 설명과 같이 Jean-François의 설명에 따라 하나의 매크로를 콤보 박스에 지정할 수 있음을 분명히해야합니다. 그러나 나는 콤보 박스에 여러 개의 매크로를 할당 할 수 없다. 나는. 표 1을 클릭하면 모듈 1에서 매크로를 실행해야합니다. 표 2를 클릭하면 모듈 5에서 매크로를 실행해야합니다. 미리 의견을 보내 주셔서 감사합니다. –

+0

Jean-Francois의 대답은 콤보 상자의 선택에 따라 다른 매크로를 실행하는 방법을 명확하게 보여줍니다. 각 선택에 대해 여러 매크로를 실행해야하는 경우 'Select Case'문을 확장하여 포함 시키십시오. [Select Case에 대한 유용한 자습서] (http://www.ozgrid.com/VBA/select-case.htm). – Aiken

답변

4

매크로를 지정하면 콤보 상자에 매크로가 지정됩니다.

  1. 모듈을 열고 예 : DropDown1_Change().
  2. 콤보 박스> 매크로 지정을 마우스 오른쪽 버튼으로 클릭하고 목록에서 매크로> 확인을 선택하십시오.

enter image description here enter image description here

할당 된 매크로는 그 선택에 따라 다른 매크로를 클릭 한 드롭 다운 옵션을 결정하고 호출해야합니다.

Sub DropDown1_Change() 
    Dim c As ControlFormat 
    Set c = Sheet1.Shapes("Drop Down 1").ControlFormat ' or whatever yours is called 

    'Choose which macro to run based on the selected value in the combobox 
    Select Case c.Value 
    Case 1: Macro1 
    Case 2: Macro2 
    Case 3: Macro3 
    End Select 
End Sub 

Sub Macro1() 
    MsgBox "Macro 1" 
End Sub 
Sub Macro2() 
    MsgBox "Macro 2" 
End Sub 
Sub Macro3() 
    MsgBox "Macro 3" 
End Sub 
관련 문제