배열을 사용하여 목록으로 스타일 지정된 콤보 상자의 ListFillRange 속성을 설정하고자하는 Excel 2007의 VBA 프로 시저가 있습니다.배열 요소를 사용하여 VBA에서 콤보 상자 채우기
내가 "콤보 상자를 오른쪽 클릭하고"Sheet1! $ F2 : $ F17 ""ListFillRange "속성 옆에 작성하면이 작동 알 수 있습니다. 코드에서도이 작업을 수행 할 수 있습니다. 그러나 배열에 할당하여이 속성의 값을 동적으로 설정하는 데 관심이 있습니다.
필자가 테스트 한 어레이가 제대로 작동하는지 알고 있습니다. 나는이 작업을 수행 할 때
ThisWorkbook.Worksheets("Sheet1").OLEObjects("cmbS").ListFillRange = ar
내가 얻을 : "형식 불일치"오류 여기에 구문 오류가 아마있다.
이 작업의 결과는 배열의 요소 (0) ...에서 마지막 요소 (n-1)까지 배열 요소로 채워야합니다. 어떤 포인터, 정말 고마워요! 여기
가 도움이 경우 콤보 상자의 속성입니다 "권한 거부"
ThisWorkbook.Worksheets("Sheet1").cmbS.list = ar
을하고 말한다 :
나는 또한 시도 테스트 및 시도 후
,이 발견 작품 :
ThisWorkbook.Worksheets("Sheet1").cmbS.ListFillRange = ""
Dim i As Integer
For i = LBound(ar) To UBound(ar)
ThisWorkbook.Worksheets("Sheet1").cmbS.AddItem (ar(i))
Next
그러나 더 신속한 효과를 위해을 모두 으로 채우는 데 관심이 있습니다. 요소를 추가하는 것뿐만 아니라 을 추가하는 것이 아닙니다.
additem을 사용하기 전에 항상 느린 화면 업데이트를 설정하십시오. –