VBA:使用Clickbox更改文本框的颜色

时间:2015-07-06 17:15:34

标签: excel vba

我在工作表A上有一个复选框,在工作表B上有一个文本框。我正在尝试更改工作表B(隐藏)上的文本框的颜色,当选中复选框时。

我一直得到'438' - '对象不支持此属性或方法'错误,但无法解决原因。任何帮助将非常感激。

目前使用的代码:

     Private Sub CheckBox8_Click()

    If CheckBox8 = True Then

       Sheets("Week_3").Shapes.Range(Array("TextBox10")).Select
        With Selection.ShapeRange.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorBackground1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = -0.5
            .Transparency = 0
            .Solid
       End With

    Else

         Sheets("Week_3").Shapes.Range(Array("TextBox10")).Select
         With Selection.ShapeRange.Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorBackground1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = 0
            .Transparency = 0
            .Solid
        End With

    End If

    End Sub

非常感谢

1 个答案:

答案 0 :(得分:0)

通过将颜色更改部分更改为:

来解决
 With Sheets("Week_3").Shapes("TextBox 10").Fill
    .Visible = msoTrue
    .ForeColor.ObjectThemeColor = msoThemeColorBackground1
    .ForeColor.TintAndShade = 0
    .ForeColor.Brightness = -0.5
    .Transparency = 0
    .Solid
End With

以下部分不是必需的:

Sheets("Week_3").Shapes.Range(Array("TextBox10")).Select