メインコンテンツへスキップ

Excelの値に基づいてテキストボックスの色を変更するにはどうすればよいですか?

著者:シャオヤン 最終更新日:2017年12月14日

Excelでは、条件付き書式機能を適用してセルの値に基づいて背景色を変更できますが、この記事では、セルの値またはテキストボックスの値に基づいてテキストボックスの色を変更する方法について説明します。

VBAコードを使用してセル値に基づいてテキストボックスの色を変更する

VBAコードを使用してテキストボックスの値に基づいてテキストボックスの色を変更する


矢印青い右バブル VBAコードを使用してセル値に基づいてテキストボックスの色を変更する

たとえば、A1のセル値がB1のセル値よりも大きい場合、テキストボックスを赤色で塗りつぶしたいのですが、逆に、テキストボックスを黄色で塗りつぶす必要があります。 次の手順でこのジョブを実行してください。

1。 クリックしてテキストボックスを挿入します Developer > インセット > テキストボックス(ActiveXコントロール)、次にテキストボックスを描画します。スクリーンショットを参照してください。

値1に基づくドキュメントテキストボックスの色

2。 次に、テキストボックスを右クリックして、 コードを表示 コンテキストメニューから アプリケーション向け Microsoft Visual Basic ウィンドウをクリックし、元のコードを次のVBAコードに置き換えて空のモジュールに入れます。

VBAコード:セルの値に基づいてテキストボックスの色を変更します。

Private Sub TextBox1_Change()
    If ActiveSheet.Range("A1").Value > ActiveSheet.Range("B1").Value Then
        Me.TextBox1.BackColor = vbRed
    Else
        Me.TextBox1.BackColor = vbYellow
    End If
End Sub

値2に基づくドキュメントテキストボックスの色

Note:上記のコードでは、 テキストボックス1 挿入したテキストボックス名です。 A1 および B1 テキストボックスの色を変更するXNUMXつのセルは、必要に応じて変更してください。

3。 次に、コードウィンドウを保存して閉じ、終了します。 デザインモード、これで、セルA1がB1より大きい場合、テキストボックスにテキストを入力すると赤い色で塗りつぶされ、A1がB1より小さい場合、テキストボックスに値を入力すると黄色で塗りつぶされます。スクリーンショットを参照してください:

値3に基づくドキュメントテキストボックスの色


矢印青い右バブル VBAコードを使用してテキストボックスの値に基づいてテキストボックスの色を変更する

テキストボックスの値に基づいてテキストボックスの色を変更する場合、たとえば、テキストボックスの値が1〜10の場合、テキストボックスの塗りつぶされた色は赤、値が11〜20の場合はテキストボックスの色は緑、他の値の場合、テキストボックスの色は黄色です。 このタスクを処理するには、以下のVBAコードを適用してください。

1。 テキストボックスを挿入した後、それを右クリックして、 コードを表示 コンテキストメニューから アプリケーション向け Microsoft Visual Basic ウィンドウをクリックし、元のコードを次のVBAコードに置き換えて空のモジュールに入れます。

VBAコード:テキストボックスの値に基づいてテキストボックスの色を変更します。

Private Sub TextBox1_Change()
    On Error Resume Next
    Select Case TextBox1.Value
        Case 1 To 10:
            TextBox1.BackColor = vbRed
        Case 11 To 20:
            TextBox1.BackColor = vbGreen
        Case Else:
            TextBox1.BackColor = vbYellow
    End Select
End Sub

値4に基づくドキュメントテキストボックスの色

Note:上記のコードでは、 テキストボックス1 は挿入するテキストボックスの名前であり、コード内の値と背景色を独自のものに変更できます。

2。 次に、コードウィンドウを保存して閉じ、終了します。 デザインモード、ここで、テキストボックスに1〜10の値を入力すると、その背景色は赤になり、11〜20の値は緑になり、その他の値は、次のスクリーンショットのように黄色になります。

値5に基づくドキュメントテキストボックスの色


関連記事:

テキストボックスに画像を挿入する方法は?

テキストボックスにデフォルト値を設定するにはどうすればよいですか?

テキストボックスに数字のみを入力できるようにするにはどうすればよいですか?

テキストボックスでスペルチェックを適用するにはどうすればよいですか?

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリー (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Nevermind, I figured it out. Instead of making the event which triggers the change "Textbox1_GotFocus()", I made it "Worksheet_SelectionChange(ByVal Target As Range)". Now any time the value in one of the cells changes, the textbox color changes automatically.
This comment was minimized by the moderator on the site
For me, when trying to change the textbox color value based on two cell values, the textbox only updates if you type something into the textbox. I need it to update automatically. Guess I'll just have to learn VBA to figure out why.
This comment was minimized by the moderator on the site
Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations