Excel 드롭다운 상자에서 다중 선택을 설정하는 방법
1. "개발 도구" 탭을 표시합니다. Excel 2010을 열고 왼쪽 상단에 있는 "파일" 아이콘을 클릭합니다. "옵션"을 클릭하여 "Excel 옵션" 대화 상자를 불러오고 "리본 사용자 정의"에서 "개발 도구"를 선택한 후 확인을 클릭합니다.
추천: "excel tutorial"
2. 드롭다운 목록의 옵션 내용을 설정합니다. 워크시트 sheet2의 이름을 "data"로 변경하고 A열에 드롭다운 옵션을 입력합니다.
3. ListBox 컨트롤을 삽입합니다.
1) 워크시트 시트1에서 A열을 선택하고 "개발 도구" 탭을 클릭한 후 "삽입"에서 "목록 상자"를 선택하고 A열에 배치합니다.
2) 목록 상자 컨트롤을 선택하고 "디자인 모드"를 클릭한 다음 디자인 모드에서 "속성"을 클릭하면 ListBox 속성 상자가 팝업되고 "범주별 정렬"을 선택합니다. MultiSelect 항목을 "1 - fmMultiSelectMulti"로 수정하고, ListStyle 항목을 "1 - fmListStyleOption"으로 수정하고, ListFillRange 항목을 선택한 메뉴 옵션이 있는 테이블 이름과 셀 범위로 설정합니다. 구체적인 형식은 "data!A1"입니다. :A8".
4. 코드를 삽입하세요. Excel의 개발 도구에서 "Visual Basic"을 클릭하여 VB 편집기를 엽니다. VB 편집기에서 Sheet1을 두 번 클릭하여 sheet1 편집기를 엽니다. 편집기에 다음 코드를 붙여넣고 저장합니다.
sheet1에 코드 저장:
Private Sub ListBox1_Change() If ReLoad Then Exit Sub '见下方说明 For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then t = t & "," & ListBox1.List(i) Next ActiveCell = Mid(t, 2) End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ListBox1 If ActiveCell.Column = 1 And ActiveCell.Row > 1 Then t = ActiveCell.Value ReLoad = True '如果是根据单元格的值修改列表框,则暂时屏蔽listbox的change事件。 For i = 0 To .ListCount - 1 '根据活动单元格内容修改列表框中被选中的内容 If InStr(t, .List(i)) Then .Selected(i) = True Else .Selected(i) = False End If Next ReLoad = False .Top = ActiveCell.Top + ActiveCell.Height '以下语句根据活动单元格位置显示列表框 .Left = ActiveCell.Left .Width = ActiveCell.Width .Visible = True Else .Visible = False End If End With End Sub
VB 편집기에서 Sheet2를 두 번 클릭하고 다음 코드를 편집기에 붙여넣고 저장합니다. (드롭다운 메뉴의 옵션 값을 동적으로 설정하기 위해 추가한 코드입니다. 드롭다운 메뉴의 옵션 값이 고정된 경우에는 다음 코드 없이 ListBox의 ListFillRange 속성에 직접 지정할 수 있습니다.)
sheet2(데이터)에 코드 저장:
Private Sub Worksheet_Change(ByVal Target As Range) Sheets("Sheet1").ListBox1.ListFillRange = "data!a1:a" & Cells(1, 1).End(xlDown).Row End Sub
코드를 저장한 후 VB 편집기를 닫습니다. sheet1 워크시트에서 A열의 셀을 클릭합니다. 결과는 아래와 같습니다.
모듈 1에 저장:
Public ReLoad As Boolean '스위치 목록 상자 변경 이벤트
위 내용은 Excel 드롭다운 상자에서 다중 선택을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!