使用宏更改 ActiveX 命令按钮的颜色

Change Color of ActiveX Command Button with Macro

作为我正在制作的电子表格的一部分,我想要一个宏来更改 ActiveX 按钮的颜色。现在我让按钮在单击时改变颜色。我希望它在单独的宏 运行.

时变回原来的颜色

如有任何想法,我们将不胜感激,谢谢!

假设按钮是白色的:
宏 1:

Sheet(n).CommandButton1.BackColor = 'something

宏 2:

Sheet(n).CommandButton1.BackColor = &H00FFFFFF&

这不应该是您唯一要做的事情吗? (More)

您可能正在寻找这样的东西:

Option Explicit

Sub tmpSO()

Dim Sh As Worksheet
Dim Obj As OLEObject

For Each Sh In ThisWorkbook.Worksheets
    For Each Obj In Sh.OLEObjects
        If TypeName(Obj.Object) = "CommandButton" Then
            Debug.Print Obj.Name
            If Obj.Object.BackColor = -2147483633 Then
                Obj.Object.BackColor = 6740479
            Else
                Obj.Object.BackColor = -2147483633
            End If
        End If
    Next Obj
Next Sh

End Sub

请注意,.Name 直接位于 .OLEObject.BackColor.OLEObject.Object 的子元素。

以上代码将在灰色(默认)颜色和橙色之间切换所有按钮背景颜色。

如果您有任何问题,请告诉我。