ワードアートや図形のテキストをセルの内容によって自動変更する。
これは、数式バーに参照セルを指定してやればOK。
(ただし、ここで直接、数式を使っての文字列合成はできないようだ。あくまでも参照するセルを指定するということ。)
これは単純で解りやすいのだが、図形そのもの、例えば、○を△にするとか、というような変更するとなると・・・あれ?
解決策:
というわけで、今回は、リンクされた図形について。
これは、貼り付けオプションの1つで、コピー元のセルを”図形”として、リンクするという機能だ。
左の例では、D6、D7、D8にAAA・・・、BBB・・・、CCC・・・とそれぞれ入力されている状態で、D6:E8の範囲をコピー(Ctrl+C)、そして、D1:E3の範囲を選択して、貼り付け→その他の貼り付けオプション→リンクされた図形としている。
ちょっと解りずらいが、コピー元が図形としてコピー先にリンクされる。
ここで注意が必要なのは、あくまでも”範囲”が図形としてリンクされるというところ。左の例ではAAA・・・が選択範囲を越えているので、その部分がカットされた図形になっている。
そして、図形なので、こんな感じに色々とデザインできる。
更に、リンクなので、このように、元のセルが変更されると、それに連動して、図形の見た目も変わる。
左の例では、D8の内容をDDD・・・に変更して、さらにD6:E8の範囲にワードアートを新たに貼り付けた。すると、D1:E3の図形にもそれが反映されている。
と、いうような、非常に面白い機能だ。
具体例:
この機能と、名前の定義を使えば、今回の目的を達成できるだろう。
例として、
「セルの値を”右、上、左、下”のどれかを選択すると、それに応じた矢印を表示する」
というような機能を実装してみよう。
1.まず元になる矢印画像を用意して、どこか適当な場所に貼り付ける。
このとき、実際に画像を表示したいセルと範囲の広さを合わせておく必要がある。
その理由は前にも言ったように、あくまでも範囲が図形としてリンクされるため。
今回はA1:A3に矢印画像を表示させる予定なので元の画像を3x1に収まるように調整しておく。
2.元画像を含むような範囲を選択して、この範囲に名前を付ける。
A6:A8の範囲を選択して”右”という名前を定義する
この名前は、後の手順7で矢印選択用リストの値として使う。
3.以下同様に、全部の元画像に名前を定義する。
4.元画像の範囲をコピー
A6:A8の範囲をコピー(Ctrl+C)
5.実際に画像を表示したい範囲を選択
A1:A3を選択
6.リンクされた図形を貼り付け
貼り付け→その他の貼り付けオプション→リンクされた図形
そうすると、左のように、コピー元の範囲が図形としてリンクされて表示される。
7.選択リストの用意
セルに直接でも良いが、今回はリストから選択できるようにする。
下のように、B1に入力規則を適用
(ここで、リストの値は先に元画像の範囲に付けた名前と同じにしておくこと。こうすることで、手順8で設定する参照範囲の式が簡単になる。)
なお、入力規則を適用したあと、そのセルは、空欄ではなく、どれかを表示した状態にしておく。(空欄だと、このあとの手順9でエラーが起こるため)
8.表示する画像に名前を付ける。
矢印という名前を新しく定義して、参照範囲を以下のような式にする。
INDIRECT(矢印!$B$1)
この式の意味は、セルB1の値が示す参照を示す・・・
分かりにくいな。
要は、B1で選択されている文字列が示す範囲を返す。ということ。
例えば、B1が”右”となっていれば、”右”という文字列が示す、すなわち、”右”という名前の範囲(右という名前が定義されているので)を返すということ。
なお、この新しく定義した名前はまだ、どこにも適用されていない。手順9で使う。
これを追加したあとの名前の管理ウィンドウはこうなる。
9.リンクされた図形に名前を適用する。
さて、いよいよ大詰め。
リンクされた図形を選択して、数式バーに手順8で定義した名前を入力する。
こうすると、この”矢印”という名前を遡っていくことにより、元画像のどれかに行き着き、その画像が表示されることになる。
10.完成
たまに使おうとするとやり方を忘れていたりするので、ちょっと長くなったが、詳細な手順を書いてみた。これでもう安心だ。