ヒント:他の言語はGoogle翻訳されています。 訪問することができます English このリンクのバージョン。
ログイン
x
or
x
x
LPI ID 登録
x

or

Excelでセルの値に基づいてシェイプカラーを変更する方法は?

特定のセルの値に基づいてシェイプの色を変更することは、Excelの面白いタスクです。たとえば、A1のセル値が100より小さく、シェイプの色が赤で、A1が100より大きく200より小さい場合シェイプの色は黄色で、A1が200より大きい場合、次のスクリーンショットのようにシェイプの色が緑色になります。 セル値に基づいてシェイプの色を変更するには、この記事ではメソッドを紹介します。

ドキュメントの変更シェイプカラー1

VBAコードでセルの値に基づいてシェイプの色を変更する


矢印青い右の泡 VBAコードでセルの値に基づいてシェイプの色を変更する


以下のVBAコードは、セルの値に基づいてシェイプの色を変更するのに役立ちます。次のようにしてください。

1。 シェイプの色を変更するシートタブを右クリックし、 コードを表示 コンテキストメニューから、ポップアウトされた アプリケーション用Microsoft Visual Basic 次のコードをコピーして空白に貼り付けてください モジュール 窓。

VBAコード:セルの値に基づいてシェイプの色を変更する:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160704
    If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
    If IsNumeric(Target.Value) Then
        If Target.Value < 100 Then
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbRed
        ElseIf Target.Value >= 100 And Target.Value < 200 Then
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbYellow
        Else
            ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbGreen
        End If
    End If
End Sub

ドキュメントの変更シェイプカラー2

2。 そして、A1セルに値を入力すると、シェイプの色は、定義したセルの値で変更されます。

:上記のコードでは、 A1 あなたのシェイプの色が変更されるセルの値です。 オーバル1 挿入された図形の形状名ですが、必要に応じて変更することができます。


Kutools for Excelは、ほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート そして、以前に使用したもの; セルを暗号化する パスワード付き メーリングリストの作成 そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストや数式を簡単に編集する) レイアウトを読む (多数のセルを簡単に読んで編集できます)。 フィルター範囲に貼り付ける...
  • セル/行/列を結合 データを失うことなく; セルコンテンツの分割。 重複する行/列を結合する...重複セルの防止。 範囲の比較...
  • 重複または一意を選択します空白行を選択 (すべてのセルは空です)。 スーパー検索とファジー検索 多くのワークブックで。 ランダム選択
  • 完全コピー 式の参照を変更せずに複数のセル。 参照を自動作成 複数のシートに 箇条書きを挿入、チェックボックスなど
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷 セルのコンテンツとコメント間の変換...
  • スーパーフィルター (保存して他のシートにフィルタ方式を適用する)。 高度な並べ替え 月/週/日、頻度などによる。 特殊フィルター 太字、斜体で...
  • ワークブックとワークシートを組み合わせる; キー列に基づいて表をマージします。 データを複数のシートに分割する; xls、xlsx、およびPDFのバッチ変換...
  • 300を超える強力な機能。 Office / Excel 2007-2019および365をサポートします。 すべての言語をサポートします。 企業または組織に簡単に展開できます。 フル機能の30日間の無料トライアル。
KTEタブ201905

OfficeタブはOfficeにタブ付きインターフェイスを提供し、作業をより簡単にします

  • Word、Excel、PowerPointでタブ付き編集と読み取りを有効にする、出版社、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを削減します。
オフィシタブ底
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Mark · 1 years ago
    Hi... excellent solution... but how do I apply it to multiple shapes based on the corresponding values of a range of cells. Many thanks in advance for your help.
  • To post as a guest, your comment is unpublished.
    Cesare · 1 years ago
    How do I make the private sub to read the result from the AVERAGE(C1,C5,C9) calculation?

    Sub only works with numeric values; any thoughts and suggestions are greatly appreciated.
  • To post as a guest, your comment is unpublished.
    Steve A · 1 years ago
    Thanks for this which is really useful.

    I now want to use it with a pivot table on another worksheet which controls the data on the sheet with the shapes that I want to change colour. However, when I change the selection on the pivot table the data on the worksheet with the shapes is updated but the code does not run so the shapes do not change colour

    If I manually change the values the code runs and the colour of the shapes is updated.

    Question: what do i need to add to the code above to allow it to run automatically?
  • To post as a guest, your comment is unpublished.
    Yasir · 2 years ago
    How can this be applied if you have multiple shape in the same worksheet?
  • To post as a guest, your comment is unpublished.
    Alan · 2 years ago
    Great vba solution.

    It is possible to also use conditional formatting to colour the shapes.

    Set the name of each shape as the cell value. Using a With Each Shape then set the shape colour as the cell colour for all named shapes.

    The cell colour may be changed using conditional formatting based on numerical values.

    For example the colour of a semi transparent overlap on a city map can be used to graphically indicate population density per block with a graduated colour scheme.
    • To post as a guest, your comment is unpublished.
      Ed · 2 years ago
      Can you share an example of the code?
  • To post as a guest, your comment is unpublished.
    Aleen Khan · 2 years ago
    I have 300 shapes in a sheet. Is it possible to check the adjacent or linked cell's value (empty or non-empty) in a sheet and color the linked shapes through VBA code?
  • To post as a guest, your comment is unpublished.
    Edward · 2 years ago
    How about if we have more than 1 object in the worksheet which the colors change according to the value input say in A1, B1,C1....