시트의 목록 상자에서 값 가져오기
엑셀 워크북 1장에 ListBox1이라는 이름의 리스트박스가 있습니다.
사용자가 목록에 있는 항목 중 하나를 선택할 때마다 strLB라는 변수로 이름을 복사해야 합니다.
그래서 만약 내가 Value1, Value2, Value3, Value4를 가지고 있고 사용자가 Value1과 Value3을 선택한다면 나의 strLB가 Value1,Value3로 나와야 합니다.
나는 그 포스트혹을 시도했습니다.
For i = 1 To ActiveSheet.ListBoxes("ListBox1").ListCount
If ActiveSheet.ListBoxes("ListBox1").Selected(i) Then strLB = strLB & etc.etc.
Next i
하지만 이것은 매우 느립니다(리스트 박스에 15k 값이 있습니다).이것이 사용자가 입력을 마친 후 사이클이 아닌 실시간으로 선택 내용을 기록해야 하는 이유입니다.
사용자가 이전 선택을 삭제했는지 확인하는 방법도 필요할 것 같습니다.
유감스럽게도 MSForms list 박스가 list 항목들을 반복적으로 살펴보고 Selected 속성을 확인하는 것이 유일한 방법입니다.그러나 여기에 대안이 있습니다.선택한 항목을 변수에 저장/제거하고 있습니다. 어떤 리모트 셀에서 이 작업을 수행하고 추적할 수 있습니다 :)
Dim StrSelection As String
Private Sub ListBox1_Change()
If ListBox1.Selected(ListBox1.ListIndex) Then
If StrSelection = "" Then
StrSelection = ListBox1.List(ListBox1.ListIndex)
Else
StrSelection = StrSelection & "," & ListBox1.List(ListBox1.ListIndex)
End If
Else
StrSelection = Replace(StrSelection, "," & ListBox1.List(ListBox1.ListIndex), "")
End If
End Sub
사용자가 행을 선택 취소하면 목록이 그에 따라 업데이트되지 않기 때문에 승인된 답변은 삭제되지 않습니다.
대신 제가 제안하는 것은 다음과 같습니다.
Private Sub CommandButton2_Click()
Dim lItem As Long
For lItem = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(lItem) = True Then
MsgBox(ListBox1.List(lItem))
End If
Next
End Sub
http://www.ozgrid.com/VBA/multi-select-listbox.htm 제공
목록 상자에서 선택한 항목의 값을 얻으려면 다음을 사용합니다.
단일 열 목록 상자의 경우:ListBox1.List(ListBox1.ListIndex)
다중 열 목록 상자의 경우:ListBox1.Column(column_number, ListBox1.ListIndex)
이렇게 하면 루프가 발생하지 않고 매우 효율적입니다.
선택한 값을 가져옵니다.
worksheet name = ordls
form control list box name = DEPDB1
selectvalue = ordls.Shapes("DEPDB1").ControlFormat.List(ordls.Shapes("DEPDB1").ControlFormat.Value)
언급URL : https://stackoverflow.com/questions/9821968/get-values-from-a-listbox-on-a-sheet
'programing' 카테고리의 다른 글
컨트롤러에서 서비스 변수가 업데이트되지 않음 (0) | 2023.10.03 |
---|---|
PowerShell의 생성자 체인링 - 같은 클래스의 다른 생성자 호출 (0) | 2023.10.03 |
조건이 고유한 경우 MySQL 고유 카운트 (0) | 2023.09.28 |
Spring Boot 2.0.x가 특정 프로파일에 대해 보안을 사용하지 않도록 설정함 (0) | 2023.09.28 |
다른 변수의 thymelephth:필드 값을 설정하는 방법 (0) | 2023.09.28 |