VBA形状颜色变化

时间:2018-02-08 03:24:20

标签: excel vba excel-vba

我是VBA编程的新手。我试图在每次点击时更改形状内的颜色和文字。我无法弄清楚为什么下面的代码不起作用。任何帮助将不胜感激。

Sub EndSelection1()

    With ActiveSheet.Shapes("EndSelectButton1")

        Select Case .Fill.ForeColor.RGB
        Case vbRed
            .Fill.ForeColor.RGB = vbYellow
            .TextFrame.Characters.Text = "PIN"
        Case vbYellow
            .Fill.ForeColor.RGB = vbBlue
            .TextFrame.Characters.Text = "BOX"
        Case Else
            .Fill.ForeColor.RGB = vbRed
            .TextFrame.Characters.Text = "Press to Select"
        End Select
    End With

End Sub

1 个答案:

答案 0 :(得分:0)

您的代码对我来说很好 也许你错过了它背后的东西,例如:

  • 将宏指定给形状

    右键单击形状,单击“指定宏”菜​​单项,然后选择“EndSelection1”一个(可能在某个工作表名称之前)

  • 正确调用形状

    由于您的宏作用于“EndSelectButton1”形状,请确保您的形状以相同的字符串命名(选择形状并编辑公式栏右侧的文本框)