• ベストアンサー

超初心者オートシェイプを数値によって色分けしたい

M列に1から5の5段階評価の数値が入っているのですが それを図に色分けしたいのでマクロでのわかりやすく 簡単な方法を教えてください。 1赤 2ピンク 3黄 4緑 5青 同様の質問が既にありますが土曜日、日曜日と調べながら 挑みましたが、解決できませんでした。 こちらはマクロ超初心者ですのでご理解いただけたらと思います

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

M列のどこに数字が入っているのかも、それぞれの数字に「対応するのはどこにあるどの図形なのか」も、何の情報もありません。 イチイチ説明を書いてもらうのもお互いにメンドクサイので、次の通りに作成することにします。 1.M2以下に不定個数、1から5までの数字が記入されている 2.各数字の「右隣のセル」(N2以下の各セル)に重なるように、四角形を描画して指定色を塗る事にする(これに伴い、シート上の余計な図形はとりあえず全部削除してから作業を開始することにする) sub macro1()  dim h as range  dim a as variant  a = array("",vbred, vbmagenta, vbyellow, vbgreen, vbblue)  activesheet.rectangles.delete  for each h in range("M2:M" & range("M65536").end(xlup).row)   if 1 <= h and h <= 5 then    with h.offset(, 1)    with activesheet.shapes.addshape(msoshaperectangle, .left, .top, .width, .height)     .fill.forecolor.rgb = a(h.value)     .name = "Rect" & h.address(false, false)    end with    end with   end if  next end sub あなたのヤリタかった事と食い違ってる部分は、まぁとりあえずまずは自力で適切に応用して作成してみて下さい。

nihonii
質問者

お礼

とても親切に回答をいただきクリスマスプレゼントをいただきました。 私のつたない説明でここまで作成していただき本当に感謝してます。 初めての質問でしたので大変へたくそだったことをお許しください。 感謝してます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

重ねて回答します。 とりあえずピンクだけ書いてみました。 Sub ShapeSample() '追加したオートシェイプの書式を設定する 'Cell1の数値が10ならばテキストボックスの色を変えて出力します。 If Sheet1.Cells.Text = 10 Then Set oShape = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 10, 10, 64, 64) With oShape .Fill.ForeColor.RGB = RGB(255, 128, 192) '塗りつぶし色 .Fill.Visible = msoTrue .Fill.Solid 'グラデーション等 .Line.ForeColor.RGB = RGB(192, 255, 128) '線の色 .Line.Visible = msoTrue End With End If End Sub 単純にCell A1の値が数値で10なら出力します。 またご自分で弄っていただいて、詰まったらご質問お願いいたします。

nihonii
質問者

お礼

ご丁寧に対応していただき本当に感謝してます。 貴重なお時間とクリスマスということで 記憶に残る御回答でした。 今から試すので時間がとてもかかるとおもいますが。。 メリークリスマス

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

こちらにソースを書くとえらいことになるので書きURLを参考にしてください。

参考URL:
http://blog.livedoor.jp/qoozy/archives/52551291.html
nihonii
質問者

補足

早速ご回答いただきありがとうございます。 当方の説明不足によりお手数おかけしたことをお詫び申し上げます。 それぞれのオートシェイプを数値によって色分けしたいのですが、 5個の数値にそれぞれ色分けして表示させたいです 1 赤 2 ピンク 3 黄 4 緑 5 青 当方による教えていただいたサイトの見落としでした場合 再度お詫び申し上げます。 ご回答には感謝します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 場合の数・塗り分けの問題

    添付の地図に関する色の塗り分け問題がよくわからないため、考え方と式、答えを教えてください。 よろしくお願い致します。 問題: 添付の地図において、この地図を色分けする方法について考える。 ただし、隣り合う部分は異なる色を塗るものとする。 (1)異なる6色(赤、青、緑、黄、ピンク、オレンジ)をすべて使って、色分けする方法は何通りあるか。 (2)異なる6色(赤、青、緑、黄、ピンク、オレンジ)を使って、色分けする方法は何通りか。ただし、6色以下の色で塗り分けるものとする。 (3)異なる6色(赤、青、緑、黄、ピンク、オレンジ)から3色を選んで色分けする方法は何通りあるか。 (4)オレンジ以外の異なる5色(赤、青、緑、黄、ピンク)をすべて使って、色分けする方法は何通りか。 また異なる6色(赤、青、緑、黄、ピンク、オレンジ)から5色を選び、その5色すべてを使って色分けする方法は何通りあるか。

  • 正四面体の色分け

    正四面体の各面を赤・青・緑・黄の4色で色分けするとき、何通りあるかという問題なのですが、重複がかなりあって頭が混乱してきます。 どうやればいいのでしょうか。

  • エクセルのマクロで数値に応じてオートシェイプの色を変更したいのですが・

    エクセルのマクロで数値に応じてオートシェイプの色を変更したいのですが・・・ マクロは初心者なもので、同じような例を調べて何度も試みたのですが、なかなか思い通りに動くプログラムが作れません。 どなたかマクロに詳しい方、ご教授願えればと思います。 やりたいことは以下の通りです。 シートが2つあります。 Sheet1には210の村について、人口性比のデータが列挙してあります。 Sheet2には、地図の中に、全ての村の所在をオートシェイプで作った○に番号をつけて表示してあります。 マクロを用いてやりたいことは、 Sheet1のG列にある人口性比の数値に応じて、以下の条件を元にSheet2のオートシェイプ(210個すべて)の色を変更させたいのです。 -950以上ならば黄色 -900以上950未満ならば緑 -850以上900未満ならば水色 -800以上850未満ならば青 -800未満ならば紺 というぐあいに。 他のデータに関しても同様に地図上で数値に応じた色分けをしたいので、一つ手本になるものができれば非常に有難いのですが。。 あと、macを使っているのですが、なかなか成功に至らないのはwindowsとのVBAの互換性の問題もあるのでしょうか?? どなたかアドバイス宜しくお願いします。

  • VBAで色つきセルの数値足し算

    セルの色で足し算をするマクロについて教えて下さい。 添付画像のようなシートがある場合 マクロを実行するとその実行した日と同じ日付(2018/3/19)の 測定と書いてある列(S列)の数を計算をしたいです。 その際色ごとに足し算をしてその結果をメッセージボックスで表示したいです。 ピンク5個 緑11個 黄色5個 青1個 このような形です。 さらに次の日(2018/3/20)の残数も色ごとに足して メッセージで表示したいです。 ピンク残りは6個 緑残りは4個 黄色残りは5個 青残りは2個 といった感じです。 計算する行は9行目から20行目までで 列の形は4列で1日の表示をしてあります。 どうか宜しくお願いします。

  • エクセルである数値を色分けする

    エクセルである数値の統計表を作成しています。 表全体の数値の中で例えば15~20という数値のセルだけ指定の色を付けたいのです。 条件付書式で設定すると複数の条件が重なった時には、指定通りに表示されません。また条件付書式で設定した場合、完成したその表に新たに別の表からコピーした数値を貼り付けると設定した条件が消えてしまいます。 私の作成したいのは、 条件1・表全体の数値から15~20という数値のセルを黄色。 条件2・C列の数値の中で35以上だけセルを赤色。 条件3・F列の数値の中で38~40だけセルを青色。 条件4・G列の数値の中で5以下のセルを緑色。 この場合条件2と条件3は数値が重なるので条件3を優先させることは無理でしょうか? 上記のような条件で表を作成できますか? もうひとつ、 指定の列の中に、ある条件の数値がある時、別の指定のセルに任意の文字を表示さたいのです。 例えばA列の数値の中に5~8の範囲の数字があれば、J30のセルに”あああ”という文字を表示させ、9~12の数値の場合は”いいい”と表示させ、13~18の時は”ううう”と表示させる。 このようなことは出来ますか? 作成方法を教えてください。 よろしくお願いします。

  • Excelのマクロでセル内の数値によってセルの色分け

    はじめまして。マクロ初心者です。 よろしくお願いいたします。 エクセルに入力されている数値によってセルを色分けしたいのです。 数値はこんなふうに入力されています↓ A0*22*33*44              B1*22*33*44 A2*12*55*66               D1*77*22*88              C1*12*55*66               E2*99*12*11  こういったものが全部で1500行ほどです。 *は空白を表しています。 この中の、空白を入れて左から4つめの数字が2、5つめが2のときは赤、 左から4つめの数字が1、5つめの数字が2のときは青、 それ以外のときはそのまま… といった具合に全部で5種類5色に色分けしたいのですが、どうにも能力が足りなくて困っています。 最初、自分なりにネット等参考にしながら「22という数値を含むセルは赤」といったように作ったのですが、 どうしても左から4文字目5文字目に限定しないと余計なセルにも色が付いてしまうのです。 もう2日も悩んでいますが、どうにも手も足も出ません。 ご指導いただけると本当に助かります。 どうぞよろしくお願いいたします。

  • オライリー 色分けのカテゴリーはなんでしょうか?

    オライリーの本の表紙や背表紙を見てると 色が緑・ピンク・青等に別れていますが 違い、色分けのカテゴリーはなんでしょうか?

  • VBAで色分け

    エクセルで、A1からJ10までの10×10のセルを用意します。 その中に1~10までの数値を適当に入れ、それらを1なら赤、2なら青・・・というふうに色分けする方法を教えてください。よろしくお願いします。

  • 学校制服の色分け

    昔は、ネクタイやリボンの色を、男女で色分けしていた事が多かったですが(男子は青・女子は赤など) 今は、男女より学年で色分けされている事が多いのでしょうか? 地元の高校に、ネクタイやリボンの色を学年によって、青・緑・赤で分けている高校があります。

  • マクロを使った、数値の入力方法についてお願いします

     お世話になっております。  添付の写真にもございますが、  C列において、同じ値が続いている箇所があるかと思います(例:赤では4個、青では4個、また緑では5個となっています)。  一方、C列における、赤での”100.043(計4個)”と青の”100.146(計4個)”では値が異なっています。  この場合、 ・もし横のB列が”1”ならば、赤の終わり(つまり数値が100.043とは異なる直前)のG列の赤のセル内に”-1”を ・もし横のB列が”-1”ならば、例えばG列の赤のセル内に”-1”を代入したいのですが、  この操作をするには、マクロではどのようにすればよろしいでしょうか?  何分、1万行にも及んでおりますので、手作業では困難な状況にございます。  つきましては、ご教示いただければ、幸いでございます。

専門家に質問してみよう