更改命令按钮颜色

时间:2020-09-14 22:32:06

标签: excel vba

由于我是VBA的新手,所以我希望有人可以帮助我。我有一个带有200个命令按钮的电子表格。我希望能够根据单元格中的值更改按钮的背景色。 200个按钮的名称为FACopy1至FACopy200。下面的代码用于更改特定按钮(在本例中为FACopy1)。

    ActiveSheet.FACopy1.BackColor = RGB(0, 255, 255)

但是,我希望更改的按钮基于单元格值。例如,如果单元格值为7,则它将更改FACopy7的颜色。我想要这样的东西:

    ActiveSheet.FACopy(cell value).BackColor = RGB(0, 255, 255)

有人对此有任何想法吗?

2 个答案:

答案 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