我正在用 Excel 形状替换所有 ActiveX 控件,因为 well know problem 。因此,我将每个 ActiveX 按钮替换为矩形形状,为每个形状分配一个宏:
我的问题是我是否可以使用我的 vba 代码来处理这些“形状按钮”。像更改“审阅开始”按钮的背景颜色这样简单的事情应该是可能的,对吧?
我在想这样的事情:
Activesheet.shapes("Review Start").background.colorindex = 1
(这段代码显然不起作用)
最佳答案
一种方法是这样。将变量分配给形状,然后您可以轻松访问其属性和方法。我不确定是否有不使用 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
关于excel - 是否可以使用 VBA 代码对形状进行寻址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54788934/