我正在使用 Excel,但遇到了麻烦,我需要单击时会改变颜色的按钮。我可以使用命令按钮,但需要我将每个按钮单独标记为“CommandButton1、CommandButton2、CommandButton3 ...CommandButton1000”。我将使用其中的许多宏,并想知道我应该做什么,这样我就可以有一个通用宏程序,可以点击形状/命令按钮。这个程序只需要在点击时来回改变颜色即可。 这就是我正在做的事情。
'Private Sub CommandButton_Click()
Select Case CommandButton1.BackColor
Case -2147483633 'Default Grey
col = 228 'FP Red
Case Else
col = -2147483633 'Default Grey
End Select
CommandButton1.BackColor = col
End Sub
我建议在工作簿中插入一个模块并在那里编写通用的颜色更改代码。 然后在带有按钮的工作表中,只需调用该代码并传递按钮单击的子按钮即可。 模块子看起来像这样:
Public Sub ColorChange(ByRef btn As Object)
Select Case btn.Name
Case "CommandButton1"
btn.BackColor = RGB(200, 0, 0)
Case "CommandButton2"
btn.BackColor = RGB(0, 200, 0)
Case "CommandButton3"
btn.BackColor = RGB(0, 0, 200)
Case "CommandButton4"
btn.BackColor = RGB(200, 0, 200)
End Select
End Sub 'ColorChange
按钮单击看起来像这样:
Private Sub CommandButton1_Click()
Call ColorChange(Me.CommandButton1)
End Sub
您可以根据单击的按钮进行任何更改。 此外,您可以为按钮命名任何您想要的名称。 右键单击该按钮并转到属性,您可以更改名称。 按钮的典型命名约定是在控件前加上 cmd 或 btn 和名称作为前缀。例如,btnColor1。 但这当然取决于你。
附注用于大量控件的控件数组可能是一个好主意。 看看这个: https://bettersolutions.com/excel/macros/vba-control-arrays.htm