我有三个链接到单元格的Form Controls选项按钮,比方说A1。当选择optionbutton1 A1 = 1时,当选择optionbutton2 A1 = 2时,并且当选择optionbutton3 A1 = 3时。当A1 = 1或2时,我希望我的ActiveX控件文本框为白色,而当A1 = 3时,我希望文本框为黄色。这是我想出的代码,但文本框的颜色没有改变。
Private Sub TextBox1_Change()
If Sheets(12).Range("A1") = 3 Then
TextBox1.BackColor = RGB(255, 255, 0)
Else: TextBox1.BackColor = RGB(0, 0, 0)
End If
End Sub
答案 0 :(得分:0)
如果有3个用于更改此A1单元格值的选项按钮,则可以改为检查选项按钮的值。然后你可以 a)单击这些选项按钮之一时,更改文本框的颜色;要么 b)设置文本框的文本,然后将触发文本框的change事件。
如果选择了选项按钮1或2,则将其涂成黄色,否则,将其涂成白色。像这样(注意白色是 RGB(255,255,255)):
Private Sub OptionButton1_Click()
Sheets(1).Range("A1") = 1
TextBox1.Text = 1
' TextBox1.BackColor = RGB(0, 0, 0)
End Sub
Private Sub OptionButton2_Click()
Sheets(1).Range("A1") = 2
TextBox1.Text = 2
' TextBox1.BackColor = RGB(0, 0, 0)
End Sub
Private Sub OptionButton3_Click()
Sheets(1).Range("A1") = 3
TextBox1.Text = 3
' TextBox1.BackColor = RGB(255, 255, 0)
End Sub
Private Sub TextBox1_Change()
If OptionButton1.Value Or OptionButton2.Value Then
TextBox1.BackColor = RGB(255, 255, 0) 'yellow
Else
TextBox1.BackColor = RGB(255, 255, 255) 'white
End If
End Sub