2010-04-22 3 views
0

Excel (사용자 정의 폼이 아님)에서 양식을 만들고 셀을 사용하여 목록 상자를 채우고 있습니다. 그러나이 셀은 때때로 A1 : 10이고 때로는 A1 : A4입니다. 목록 상자에 표시된 내용을 동적으로 변경하는 방법이 있습니까?목록 상자를 동적으로 채 웁니다 - 빈 셀을 제외합니다

지금은 A1 : 10을 사용하고 4 개의 셀만 채워지면 4 개의 채워진 셀 목록에 6 개의 빈 항목이옵니다. 단지 4가있을 때 6 개의 여백을 없애고 싶습니다.

답변

0

불행하게도 이것은 해결책보다 더 많은 해결 방법입니다. 그러나, 당신이 필요로하는 것을 할 수 있습니다. 범위를 동적으로 만들려고 노력하는 것과 같은 벽을 치고 있습니다.

정확히 무엇을하고 있는지 알 수있는 코드가 없으면 다음과 같이 시도해보십시오.

Private Sub ListBox1() 
    x = 1 
    'Add items to listbox until you reach an empty cell. 
    Do while Cells(x,1) <> "" 
     ListBox1.AddItem Cells(x,1) 
    Loop 

userforms 외부의 목록 상자에 익숙하지 않지만 원하는 작업을 수행해야합니다.

원본 게시물을 코드로 편집하여 시도한 내용과 수행하려는 내용을 더 잘 이해할 수 있습니다.

0

동적 수식을 사용하여 명명 된 범위를 만들 수 있습니다. 아래 공식 중 하나가 작동합니다.

=A1:INDEX($A$1:$A$10,MATCH("",$A$1:$A$10,0)-1) 

=OFFSET($J$7,0,0,MATCH("",$J$7:$J$32,0)-1) 

은 명명 된 범위를 만들 CTRL + F3 다음 새로운 클릭 클릭 위의 "를 의미한다"로 두 가지 옵션 중 하나를 삽입하려면 섹션, 다음 새 범위에 레이블을 당신이 좋아한다 무엇 이건. 목록 상자의 "행 소스"섹션에서 새 명명 된 범위에 대해 선택한 이름을 입력하기 만하면됩니다.

관련 문제