2017-12-21 10 views
0

하위 폼에서 ComboBox에 액세스하려고합니다. 따라서 그것으로 콤보 박스 객체를 전달하려고합니다.ComboBox 개체를 만들어 Sub에 전달합니다.

그러나 나는 그것을 전달하기 위해 콤보 박스 오브젝트를 만들 수있는 것 같지 않습니다. 서브를 입력 할 때 항상 비어 있습니다.

Dim ctl As ComboBox 

Set ctl = Me.cb_FcnName 'cb_FcnName is the name of the Combobox I'm trying to access 

Call ColumnEntries2Combobox(ctl) 

을 그리고 이것은 내 하위입니다 : 나는에 필요한 콤보 객체를 생성하는 방법에 대한 문서를 찾을 수 없습니다 어떤 이유

Private Sub ColumnEntries2Combobox(ByRef Combo As ComboBox) 
    Combo.AddItem = Worksheets(WorksheetName).Cells(currRow, 2) 
End Sub 

이것은 내가하려고했는데 무엇인가 잠수함에 들어가십시오 ...

어떤 종류의 도움에 미리 감사드립니다!

+1

당신은 당신이 할 수있는, 새로운 객체를 생성해야 야해 그냥 다음을 사용하십시오 :'ColumnEntries2Combobox (cb_FcnName) ' – braX

+0

처음부터이 작업을 했었고 컴파일 오류가 발생했습니다. AddItem을 사용하여 Sub. 함수 나 변수를 기대한다고 알려줍니다. – budekatude

+1

그 코드는 저에게 효과적입니다. 서브를 입력 할 때 "항상 비어 있음"이라고 설명하십시오. 어떻게 알았어? ComboBox는 UserForm에, Sub는 같은 클래스 모듈에 있습니까? –

답변

2

AddItem은 속성이 아니라 메소드입니다. 메소드의 경우 공백 다음에 인수를 제공하고 속성을 무언가와 동일하게 설정하는 것과 비교합니다.

그래서이 그렇게 간단한 예제는 일반적인 오류입니다

 Combo.AddItem = Worksheets(WorksheetName).Cells(currRow, 2) 

 Combo.AddItem Worksheets(WorksheetName).Cells(currRow, 2) 

에 변경 :

object.Property = value 

object.Method arg1, arg2 
관련 문제