シートのセルからの入力値に基づいて自動的にテキストボックスの色を変更するExcelマクロを作成しようとしています。私は現在持っているコードは次のようになります。これは、その後、セルA1から値を読み、その値に基づいて、テキストボックスの色を変更することになっているExcelマクロの変更TextBoxの色
Private Sub TextBox1_Change()
'Declare Variables
Dim cell As Range
Dim color As String
'Initialize Variables
Set cell = Range("A1")
color = cell.Value
'Set TextBox Color
If color = "" Then TextBox1.BackColor = RGB(255, 255, 255) 'white
If color = "1" Then TextBox1.BackColor = RGB(255, 0, 0) 'red
If color = "2" Then TextBox1.BackColor = RGB(0, 255, 0) 'green
If color = "3" Then TextBox1.BackColor = RGB(0, 0, 255) 'blue
End Sub
。私のコードは、テキストボックスの色を正常に変更しますが、テキストボックスをクリックして何かを入力するまで更新されません。セルA1に値が入力されるとすぐに色を更新する方法はありますか?
他のオブジェクトでこれを行う方が簡単であれば、私はテキストボックスに縛られていませんが、セルを使うことはできません。
@findwindowが示唆したように
'textbox'セルの後、条件付き書式に関連付けられていませんか? – findwindow
それは無限に簡単でしょう。残念ながら、セルは私が使用できない数少ないものの1つです。それはある種の優れたオブジェクト(すなわち、テキストボックス、ラベルなど)である必要があります。 – drylkuch
おそらく 'worksheet_change'イベントを使用していますか? – findwindow