
エクセルの値と入力すると、図形の色を変えたいのですが、何か良い方法はないでしょうか。
例えば、地図があるとします。その地図の中にある病院の場所に図形で四角を書きます。
(書いた図形の塗りつぶしはなしがいいですが、線の色はあっても問題ありません。)
エクセルの値を4月と入力すると、図形の色が黄色。
7月と入力すると、色が水色・・・と言うようにエクセルの値を元に図形の色を変えたいです。
お手数をおかけしますが、どなたかわかる方教えてください。
ちなみに、私はVBAなどのプログラムに関しては素人です。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは
すでに適切な回答がありますが・・
>私はVBAなどのプログラムに関しては素人です。
という方にとっては、ハードルは高いと思われます。
ちなみに、以下の条件であれば後述のような感じで可能と思います。
・表は補足にご提示の図の通りとする
・図は「挿入」-「図」-「図形」で描いた図形で、図中のテキストは
表のA列のセルの文字と完全一致している
※ 色名はプログラムでは使えないので変換が必要ですが、表にご提示の色だけ定義してあります。
不明な詳細に関しては適当ですが、対象シートのシートタブを右クリックして出る「コードの表示」のエディタ画面に以下を全てコピペ。
(条件と異なる設定下では、コピペしても何も起きません)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sp As Shape, col
Dim a As Range, r As Range, c As Range
Const cellArea = "C3:C5,E3:E5"
For Each a In Range(cellArea).areas
Set r = Intersect(a, Target)
If Not r Is Nothing Then
For Each c In r
If c.Value <> "" And (c.Column = 5 Or c.Offset(, 2) = "") Then
Set sp = shapeSearcher(Cells(c.Row, 1).Text)
col = name2color(c.Offset(, 1).Text)
If Not sp Is Nothing And Not IsError(col) Then sp.Fill.ForeColor.RGB = col
End If
Next c
End If
Next a
End Sub
Function name2color(ByRef c As String)
Dim names, colors, i As Long
names = Array("黄色", "緑", "水色", "灰色", "青", "ピンク")
colors = Array(vbYellow, vbGreen, rgbAqua, rgbGray, vbBlue, rgbPink)
name2color = CVErr(xlErrName)
For i = LBound(names) To UBound(names)
If names(i) = c Then name2color = colors(i): Exit For
Next i
End Function
Function shapeSearcher(ByRef str As String)
Dim sp As Shape, s As String
Set shapeSearcher = Nothing
For Each sp In ActiveSheet.Shapes
s = sp.TextFrame2.TextRange.Text
s = Trim(Replace(Replace(s, vbTab, ""), vbLf, ""))
If str = s Then Set shapeSearcher = sp: Exit For
Next sp
End Function
No.1
- 回答日時:
こんにちは
>エクセルの値と ≪入力すると》、図形の色を変えたいのですが、何か良い方法はないでしょうか
ご存知のようですが、VBAでの処理で可能です
>例えば、地図があるとします。その地図の中にある病院の場所に図形で四角を書きます。(書いた図形の塗りつぶしはなしがいいですが、線の色はあっても問題ありません。)
手作業の範疇ではないでしょうか?
>私はVBAなどのプログラムに関しては素人です。
どの位素人なのか分かりませんが、基本的な事が理解できていなければ
急いでは到底無理で、時間をかけても難しいでしょう。
先ずは、ExcelとVBAを学習する必要があります。
(もちろんユーザーとして使うことは出来るかもしれませんが、条件の変更が生じた場合などに対応できない事になります)
VBAコードを書く場所など、導入方法は分かりますか?
>形状もフリーで書いた図形も色を変えたいのですが、可能でしょうか。
勿論可能です。
Excelのスキルになりますが、各図形のオブジェクト名をA,B,Cに変更できますか?
>エクセルの値を4月と入力すると、図形の色が黄色。7月と入力すると、色が水色・・・と言うよう
違う値の時どうする(何色な)の?
もし、VBAで処理しないのなら、同じ(色違い)図形を重ねて表示する方法もありかも知れません。
http://yasu-excel.blogspot.com/2014/07/blog-post …
https://www.y-shinno.com/excel-img-switch/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelのセル値に基づいて図形の色を変更するにはどうすればよいですか?
Excel(エクセル)
-
エクセルで条件をつけて図形を表示する方法を教えてください。例えば、セルA1に入力された数値が100以
Excel(エクセル)
-
セルの内容の条件に応じて図形の表示をしたりしなかったりする
Excel(エクセル)
-
-
4
エクセルの質問です。条件によってセルに斜線を引きたいのですが。
その他(OS)
-
5
あるセルに色を付けた時、別のセルにも同じ色が付く
Excel(エクセル)
-
6
条件に一致したときに画像を表示したいのですが・・。
Excel(エクセル)
-
7
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
8
エクセルで別シートの同じ位置にオブジェクトをコピーしたい
その他(Microsoft Office)
-
9
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
-
10
エクセルのマクロで数値に応じてオートシェイプの色を変更したいのですが・
その他(Microsoft Office)
-
11
条件付き書式で太罫線を引く方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
血小板増加について
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
風俗店へ行く前のご飯
-
イタリアから帰国する際、肉製...
-
彼女のことが好きすぎて彼女の...
-
精子に血が・・・
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
精液の落とし方を教えてください
-
足がまだら模様になります。ど...
-
舌の裏の痛みのないプツプツの...
-
尿検査前日に自慰行為した時の...
-
納豆食べた後の尿の納豆臭は何故?
-
検便を取ったのですが、棒から...
-
自動車学校について
-
中学三年 ちんこが小さいです
-
精子が黄色?
-
病院側から早く来てくださいと...
-
EXCELで式からグラフを描くには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報
補足ですが、図形の四角は複数あり、色はバラバラに設定を行いたく。
添付ファイルのように、
例えば、添付ファイルのようにC3に日にちが入ったら、Aの図形の色が変わり、E3に日にちが入ったら、今度は灰色になる、と言うように行いたいです。
また形状もフリーで書いた図形も色を変えたいのですが、可能でしょうか。
お手数をおかけしますが、よろしくお願いいたします。