作为我正在制作的电子表格的一部分,我想要一个宏来改变ActiveX按钮的颜色。现在我点击时按钮会改变颜色。我希望它在运行单独的宏时更改回原始颜色。
感谢您的任何想法,谢谢!
答案 0 :(得分:0)
我们假设Button是白色的:
宏1:
Sheet(n).CommandButton1.BackColor = 'something
Macro2:
Sheet(n).CommandButton1.BackColor = &H00FFFFFF&
这不应该是你唯一需要做的吗? (More)
答案 1 :(得分:0)
你可能正在寻找这样的东西:
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
的子元素。
以上代码将在灰色(默认)颜色和橙色之间切换所有按钮背景颜色。
如果您有任何问题,请与我们联系。