excel - 是否可以使用 VBA 代码对形状进行寻址?

标签 excel vba

我正在用 Excel 形状替换所有 ActiveX 控件,因为 well know problem 。因此,我将每个 ActiveX 按钮替换为矩形形状,为每个形状分配一个宏:

enter image description here

我的问题是我是否可以使用我的 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/

相关文章:

excel - VLOOKUP Lookup_value 左侧的值

sorting - 如何对 Excel 列 A.T. 进行排序带有/空/空列单元格的行在顶部?

mysql - 为什么连接字符串只能在开发机器上工作?

excel - 宏 : Transposing issue

java - 无法使用 Selenium webdriver 写入 Excel

excel - 将数据从多列移动到单行

excel - 如何在不知道工作表名称的情况下使用 Onaction VBA 命令?

c# - C# 中的 VBA/Excel RANK

VBA写入文本文件: Run-time error 52 'bad file name or number'

excel - 查找连续数据所花费的时间