2015-02-04 3 views
1

Excel의 콤보 상자 목록에 셀 값을 전달하려고합니다.콤보 상자 목록에 셀 값 전달

셀 값을 전달할 배열을 만들었지 만 호출 할 때 콤보 상자 목록에 나타나지 않습니다. 나는 항목 드롭 다운 메뉴로 표시 할 셀 값이 필요하고 표시하는 모든 빈 공간 : 문제의

Private Sub cmdClearAll_Click() 

    Call Button_Functions.Clear_Invoice_Data 
    i = 18 

End Sub 

사진 : 그것은 사용자 양식에서 버튼에 의해 호출된다

Sub Clear_Invoice_Data() 

    Dim Arr As Variant 
    Arr = Range("A1:A5").Value 

    frmAddLineItem.ddlProduct.List = Arr  

End Sub 

: 콤보 상자를 사용하여 (어떤 값)

no elements 5 elements

+0

예상대로 작동해야합니다. 더 많은 코드를 보여줄 수 있습니까? * frmAddLineItem.Show' 문 앞에 * 할당되어야합니다. –

+0

실제로 Sub 전체가 더 많이 표시되지는 않습니다. 그것은 사용자 양식 (코드 위)의 버튼으로 호출됩니다 – Gek

+0

질문에 코드를 입력하십시오. 당신이 그것을 코멘트에 넣었을 때 그것을 읽는 것은 불가능합니다. –

답변

2

당신이 그렇게 선택하는 경우이 작업을 수행하는 또 다른 (거친) 방법 found here 있습니다. 또한 데이터를 소싱하는 시트 이름을 정의해야합니다.

Sub AddItemsToBox() 

    Dim itemcell As Range 

    For Each itemcell in Sheets("Source Sheet Name").Range("A1:A5") 
     frmAddLineItem.ddlProduct.AddItem itemcell.Value 
    Next itemcell 

End Sub 
+0

이 방법도 효과적이지만 다시 빈 줄이있는 드롭 다운 목록을 만드는 것으로 보입니다. – Gek

+1

@Gek 통합 문서에 여러 장이 있습니까? 위의 편집을 확인하고 올바른 시트 이름을 입력하십시오. – Chrismas007

+1

AH HA !!! 이것은 효과가있다! 감사! – Gek

1

, 당신은의 .List 속성을 사용할 수 없습니다 combox 상자에 워크 시트 값을 채우는 것과 동일합니다. 예를 들어 아래

확인이 :

ComboBox1.List = Worksheets("Sheet1").Range("A1:A5").Value 

당신이 배열을 사용하려면,

Dim Arr As Variant 
Arr = Worksheets("Sheet1").Range("A1:A5").Value 
ComboBox1.List = Arr 
+1

.... (설명은 항상 도움이됩니다) –

+0

위의 작동하지만 배열에서 값을 전달하는 데 여전히 필요합니다. – Gek

+0

업데이트 된 답변 확인. –