2010-04-13 79 views
0

我在電子表格中有多個形狀和複選框。我想創建一個函數,當其相應的複選框被點擊時,將特定的形狀放置在前面(比它的對等點更高的Z階)。這是我目前有的代碼:Z-訂單問題

Sub CheckBox3_Click() 
If CheckBox3.Value = True Then 
Sheet1.Shapes("blueoval").ZOrder msoBringToFront 
End If 
End Sub 

無論何時運行此代碼,我都會收到運行時錯誤'424'。我是新來的VBA爲Excel,所以任何幫助將不勝感激。這段代碼有什麼問題?少了什麼東西?等等。謝謝!

回答

0

您的代碼適用於我。

檢查:

您的複選框是一個ActiveX控件,而不是一個窗體控件。 複選框名稱是CheckBox3。 您在Sheet1上有一個名爲blueoval的形狀。 帶有藍色橢圓的工作表名稱實際上是Sheet1(在Visual Basic編輯器中選中此項)。 在Visual Basic編輯器中,選擇工具>引用,並確保沒有引用標記爲MISSING。 您的代碼位於複選框所在的工作表上,而不在單獨的模塊中。