2017-01-31 197 views
0

這裏是我的一個互動的購物車的代碼,但我有VBA錯誤13運行時

錯誤13運行時

Sub Freeform124_Click() 

    Dim NomShape As String 

    NomShape = Application.Caller 
    For Each Shape In ActiveSheet.Shapes 
     form.Fill.ForeColor.RGB = RGB(0, 50, 0) 
    Next Shape 

End Sub 
+1

'Application.Caller'沒有必要返回一個字符串,嘗試'昏暗NomShape作爲Variant'。有關更多詳細信息,請參閱https://msdn.microsoft.com/zh-cn/library/office/ff193687(v=office.15).aspx – R3uK

+0

您是否在嘗試更改統計圖的顏色?形狀?你究竟想達到什麼目的? –

回答

0

與您的代碼的問題是,你使用for each Shape循環然後你寫form.fill.forecolor。大概是 。加上application.caller解析爲字符串。

如果使宏可以從對象中點擊,以下是改變所有對象顏色的好方法。

Option Explicit 

Sub Rechteck1_Klicken() 

    Dim oCaller   As Object 
    Dim shShape   As Shape 

    Set oCaller = ActiveSheet.Shapes(Application.Caller) 
    oCaller.Fill.ForeColor.RGB = RGB(100, 250, 250) 

    For Each shShape In ActiveSheet.Shapes 
     If shShape.Name <> oCaller.Name Then 
      shShape.Fill.ForeColor.RGB = RGB(110, 50, 0) 
     End If 
    Next shShape 

End Sub