由于这个well know problem,我将所有ActiveX控件替换为Excel形状。因此,我将每个ActiveX按钮替换为矩形,并为每个形状分配了一个宏:
我的问题是我是否可以使用vba代码解决这些“形状按钮”。像更改“ Review Start”按钮的背景颜色这样的简单符号应该可以,对吧?
我在想类似的东西:
Activesheet.shapes("Review Start").background.colorindex = 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