2015-02-05 1 views
0

일부 컴퓨터에서 VBA의 ActiveX 콤보 상자를 채우는 것은 :오류 438 만 나는 worksheet_activate을 통해() 코드를 채울 액티브 콤보 상자 컨트롤을 통합 문서를 만든

Private Sub Worksheet_Activate()  
    With ActiveSheet.cmboBox1 
     .Clear 
     .AddItem "Item 1" 
     .AddItem "Item 2" 
     .AddItem "etc..." 
     .Text = "Select... " 
     .Width = 222 
     .Height = 19 
     .Left = 0 
     .Top = 0 
    End With 
End Sub 

이 내 컴퓨터에서 잘 작동합니다. 내 동료의 컴퓨터에서 스프레드 시트를 열려고 할 때, 그들은 오류 438을 수신하고 디버그 라인을 강조 : 나는 Excel 버전을 비교하고 우리가 정확히 같은 버전을 실행하는

With ActiveSheet.cmboBox1 

.

동일한 ActiveX 보안 센터 설정이 있습니다. 하나의 ActiveX 콤보 상자로 빈 워크 시트를 만들었으며 동일한 작업이 수행됩니다.

ActiveSheet 대신 직접 워크 시트를 지정하려고 시도했지만 문제가 지속됩니다.

나는 내 코드와 함께 살기에 너무 가깝다. 미리 감사드립니다.

+0

간단한 진단은 활성 시트에 "cmboBox1"이라는 구성원이 없다는 것입니다. 그들은 일반적으로 시트를 추가하는 것만으로 코드를 폭탄으로 만드는 것으로 충분하지 않습니다. 맞춤법 오류는 기본 이름이 "ComboBox1"이므로 쉽게 실수 할 수 있습니다. –

+0

제안 해 주셔서 감사합니다. 나는 그것을 보았다. 그러나이 시트들은 나의 기계에서 잘 작동하고 잘 작동한다. 다른 컴퓨터로 이동하여이 오류가 발생하는 동일한 통합 문서를 열 때만 가능합니다. – jaegee

+0

pt ActiveSheet 대신 시트의 이름을 사용하지 않는 이유는 무엇입니까? – acelent

답변

0

마침내 문제의 원인을 확인했습니다. 한 번 더, 그것은 어떻게 든 내 동료의 컴퓨터에 설치되어 있었지만 광산이 아닌 Microsoft 보안 업데이트로 인해 발생했습니다. 참조 http://support.microsoft.com/kb/3025036

해당 KB 문서에서 패치를 실행 한 후 모두 다시 작동했습니다.

관련 문제