可以使用VBA代码处理形状吗?

时间:2019-02-20 14:44:06

标签: excel vba

由于这个well know problem,我将所有ActiveX控件替换为Excel形状。因此,我将每个ActiveX按钮替换为矩形,并为每个形状分配了一个宏:

enter image description here

我的问题是我是否可以使用vba代码解决这些“形状按钮”。像更改“ Review Start”按钮的背景颜色这样的简单符号应该可以,对吧?

我在想类似的东西:

Activesheet.shapes("Review Start").background.colorindex = 1

(此代码显然不起作用)

1 个答案:

答案 0 :(得分:4)

一种方法是这样。为形状分配一个变量,然后您可以轻松访问其属性和方法。我不确定没有使用RGB的方法。

通过将变量声明为Shape类型,Intellisense将向您显示属性和方法。您也可以使用Object Browser(F2)。

Sub x()

Dim s As Shape

Set s = ActiveSheet.Shapes("Review Start") 'better to specify a sheet name

With s
    .Fill.ForeColor.RGB = RGB(255, 255, 255)
    .TextFrame.Characters.Font.Color = vbBlack
    .TextFrame.Characters.Text = "Fred"
End With

End Sub