2015-02-05 44 views
0

我創建了一個工作簿,通過​​worksheet_activate填充()代碼的ActiveX組合框控件填充VBA的ActiveX組合框:錯誤438只時,在某些計算機上

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和調試突出了行:

With ActiveSheet.cmboBox1 

我比較Excel版本和我們恰好運行相同版本。

我們擁有相同的ActiveX信任中心設置。 我創建了一個只有一個ActiveX組合框的空白工作表,並且發生了同樣的事情。

我已經嘗試直接指定工作表來代替使用ActiveSheet,但問題仍然存在。

我離我的代碼很近,然後就這樣!提前致謝。

+0

簡單的診斷是活動工作表沒有名爲「cmboBox1」的成員。當然他們通常不會,只是添加一張表就足以轟炸代碼。拼寫錯誤也是一個簡單的錯誤,因爲默認名稱是「ComboBox1」。 – 2015-02-05 23:13:47

+0

感謝您的建議。我看了一下,但這些表單在我的機器上激活並正常工作。只有當我移動到另一臺計算機並打開相同的工作簿時,纔會發生此錯誤。 – jaegee 2015-02-05 23:28:08

+0

爲什麼不使用工作表的名稱而不是pf'ActiveSheet'? – acelent 2015-02-06 21:04:53

回答

0

我終於確定了問題的原因。 再一次,它是由Microsoft安全更新(已安裝在我的同事的計算機上而不是我的)造成的。請參閱http://support.microsoft.com/kb/3025036

從該知識庫文章運行修補程序後,它都重新運行。

相關問題