Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀(Excel) VBA - 콤보상자 컨트롤의 다양한 사용법

엑셀(Excel)/VBA
반응형

엑셀(Excel) VBA - 콤보상자 컨트롤의 다양한 사용법

 

환경 : Microsoft Excel 2010

 

콤보상자에 목록을 집어 넣는 방법은 두가지가 있으며 화면에 목록을 표시할 때도 하나의 열만 보여주거나 여러열을 표시 할수도 있습니다. 그 방법에 대해 설명할 것 입니다.

 

먼저 콤보박스에 데이터를 추가하기 위해 폼을 하나 만듭니다. 그리고 하나의 열을 추가할 콤보와 여러열을 추가할 콤보박스 두개를 만듭니다.

 

엑셀(Excel) VBA - 콤보상자 컨트롤의 다양한 사용법

 

이제 콤보에 추가하는 두가지 방법에 대해 알아봅니다. 하나는 RowSource 속성으로 추가하는 방법이고 AddItem 함수를 이용하는 방법입니다. 폼이 로딩될 때 값을 넣기 위해 상단 왼쪽 콤보에서 UserForm 을 선택하고 오른쪽에는 Initialize 선택합니다.

 

Private Sub UserForm_Initialize()

    With Me.cboOne

        .AddItem "하나"

        .AddItem "두개"

        .AddItem "세개"

        .AddItem "네개"

        .AddItem "다섯"

        .ListIndex = 0

    End With

   

    With Me.cboTwo

        .RowSource = "사용자정보!A3:A5"

        .ListIndex = 0

    End With

End Sub

 

다음은 콤보에 여러 개의 열을 추가하는 것입니다ColumnCount 로 표시할 컬럼의 수를 지정합니다. 그리고 컬럼의 수에 맞게 RowSource 로 영역을 지정합니다. 하나의 열이 아닌 3개의 열을 넣을 수 있도록 영역을 지정해 줍니다. 마지막에 ColumnWidths 로 열을 크기를 지정해 줍니다.

 

With Me.cboTwo

    .ColumnCount = 3

    .RowSource = "사용자정보!A3:C5"

    .ColumnWidths = "40;50;70"

End With

 

그림에서 처럼 3개의 열이 나오지만 선택하면 제일앞에 열만 표시 됩니다. 이 말은 다른 두개는 정보성으로 표시 해준다는 말이 됩니다.

엑셀(Excel) VBA - 콤보상자 컨트롤의 다양한 사용법

반응형
Posted by 녹두장군

댓글을 달아 주세요