[[20200106160516]] 『オートシェイプにセルの背景色をリンクさせたい』(オニール) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オートシェイプにセルの背景色をリンクさせたい』(オニール)

100個ぐらいのセルを条件付き書式のカラースケールで色分けをし、各々に対応する図形に色分けをした背景色をリンクさせたいのですが出来ますか?

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 これではだめなんですかね?
http://officetanaka.net/excel/function/tips/tips14.htm
(BJ) 2020/01/06(月) 16:46

そんなプロパティは用意されていないでしょうね。 リンクは無理でしょう。

どうして、カラースケールの色を図形に反映させたいのでしょう? マクロで図形(Shape)の色を変える事はできます。 貴方の目的に合っているのか判りませんが、セル値を変えると図形の色が変わる、という事を実現したいならば、マクロで書いてみてはどうでしょうか?

    ActiveSheet.Shapes(1).Fill.ForeColor.RGB = Range("A1").DisplayFormat.Interior.Color
(???) 2020/01/06(月) 17:05

 結局は、下と同じなんだけど
http://officetanaka.net/excel/function/tips/tips14.htm

 セルをコピーして、図のリンク貼り付け。(2007だと、Shiftキーを押さなくても良かった。)
 セルそのものがシェイプに移ります。
 中の値も反映されるので、セルの値が表示されないようにした作業セルを作って、
 そのセルに対して図のリンク貼り付け。
(BJ) 2020/01/06(月) 17:27

ご意見ありがとうございます。

使用目的としては、不具合管理の一環として工程の中で同一不具合の発生傾向を数字でなく視覚化したいです。2色スケールの微妙な色合いを自動で表現したいと思い質問させていただきました。

マクロもしよろしければどの様に書けばいいか教えていただけると助かります。

(オニール) 2020/01/07(火) 08:52


ヒントだけでは、やる気が出ませんでしたか。残念です。

例えば、A列に条件付き書式でスケールが設定されていて、数値入力されるものとした場合の例なぞ。図形は数値入力する行数分用意してください。 足りない場合は図形の数で割った余りを利用して、該当する図形に着色することで、エラーにはならないようにしています。

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    Dim iw As Long

    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        iw = (i - 1) Mod Shapes.Count + 1
        Shapes(iw).Fill.ForeColor.RGB = Cells(i, "A").DisplayFormat.Interior.Color
    Next i
 End Sub

1セル入力しただけで全図形を塗り替えていますが、これは数値入力されて順位が逆転する事がある事に対応するためです。

もしかすると、カラースケールのために数値を入力するセルと、図形毎の値を入力するセルは別々なのかも知れませんが、シートのレイアウトがさっぱり判らないので、考えていたものと違う場合はご自身で手直ししてみてください。 肝心の着色方法さえ判れば、あとは何とでもなりますよね?
(???) 2020/01/07(火) 09:33


マクロありがとうございます。
ヒントに気付けず質問してしまいました。

参考にさせていただきます。
(オニール) 2020/01/07(火) 13:14


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.