2017-11-29 1 views
1

여러 콤보 상자의 기본값을 설정하는 데 도움을 요청합니다. 아래 코드를 사용했지만 첫 번째 콤보 상자의 기본값 만 변경됩니다. 닫은 후 두 번째 시간을 열면 두 번째 값이 기본값, 세 번째 시간, 세 번째 값 등으로 변경됩니다. 초기화 내에서 userform 내의 모든 combobox의 모든 기본값을 변경해야합니다.여러 콤보 상자의 VBA 기본값

Private Sub UserForm_Initialize() 
    CBForm.ListIndex = 0 
    CBERP.ListIndex = 0 
    CBCountry.ListIndex = 0 
End Sub 
+0

에서 프로 시저를 호출 초기 값을 설정하기 위해 UserForm 코드에서 프로 시저를 작성? 예 : 'CBForm.ListIndex = 0'을 설정할 때 해고 될'CBForm_Change'가 있습니까? 그렇다면 코드는 무엇을합니까? – YowE3K

+0

나는 그것을 테스트 한 결과 ControlSource 값으로 인해 발생한다는 것을 알았다. 나는 값을 써야하는 셀을 설정했다. 비어 있으면 작동하기 때문에 콤보 상자에서 직접 값을 설정하는 대신 코드로 값을 쓸 것입니다. – Martin

답변

0

왜 작동하지 않는지 잘 모르지만 다음을 시도하십시오. 그런 다음

Private Sub InitializeCombos() 
    CBForm.ListIndex = 0 
    CBERP.ListIndex = 0 
    CBCountry.ListIndex = 0 
End Sub 

당신이 어떤`Change` 이벤트가 콤보에 연결 한 마 UserForm_Initialize

Private Sub UserForm_Initialize() 
    Call InitializeCombos 
End Sub 
+0

잘 작동하지 않았습니다. 프로세스를 스테핑하면 작동하지만, 실행하려고하면 첫 번째 콤보 박스의 기본값 만 변경됩니다. – Martin

+0

@ YowE3K 제안을 시도하십시오. 사용자 서식에 문제가 있습니다. 새 사용자 정의 폼에서이 코드를 시도해 볼 수 있습니다. –