由于我是VBA的新手,所以我希望有人可以帮助我。我有一个带有200个命令按钮的电子表格。我希望能够根据单元格中的值更改按钮的背景色。 200个按钮的名称为FACopy1至FACopy200。下面的代码用于更改特定按钮(在本例中为FACopy1)。
ActiveSheet.FACopy1.BackColor = RGB(0, 255, 255)
但是,我希望更改的按钮基于单元格值。例如,如果单元格值为7,则它将更改FACopy7的颜色。我想要这样的东西:
ActiveSheet.FACopy(cell value).BackColor = RGB(0, 255, 255)
有人对此有任何想法吗?
答案 0 :(得分:0)
这应该有效。 修改以适合您的需求
Sub Test1()
Dim cb As CommandButton
Dim x As Integer
x = Range("A1") * 1
Set cb = ActiveSheet.Shapes("FACopy" & x).OLEFormat.Object.Object
cb.BackColor = RGB(0, 255, 255)
End Sub
答案 1 :(得分:0)
尝试
Sub test()
Dim ws As Worksheet
Dim btn As OLEObject
Dim i As Integer
Set ws = ActiveSheet
For i = 1 To 200
Set btn = ws.OLEObjects("FACopy" & i)
btn.Object.BackColor = RGB(200, 255, 255)
Next i
End Sub