自動的に画像を切り替える


最初に完成例をご覧ください。セルの値によって、表示する画像を自動的に変更します。マクロは使いませんが手順が多いので落ち着いて操作してくださいね。

【手順】

  1. 表示の元になる画像を準備する
  2. 実際に画像を表示する領域を作る
  3. 画像を切り替える仕組み「名前」を定義する
  4. 表示領域の式を書き換える
  5. 切り替え用のリストを作る
  6. 見栄えを整える

表示の元になる画像を準備する

まず、切り替えて表示する画像を用意します。ここでは解説のために、クリップアートから2つの画像を挿入しました。

このとき、左の画像はセル範囲B2:C9内に、右の画像はセル範囲E2:F9内に収めるように配置してください。

次に、画像を配置したセル範囲B2:C9に「ワイン」、セル範囲E2:F9に「ビール」という名前を設定します。セル範囲B2:C9を選択して、名前ボックスに「ワイン」と入力してください。同じように、セル範囲E2:F9を選択して名前ボックスに「ビール」と入力します。

実際に画像を表示する領域を作る

実際に画像を表示する領域を作成します。手順1.でセル範囲E2:F9が選択されている状態になっているはずです。選択されていないときは選択してください。そのままツールバーの[コピー]ボタンをクリックします。

ここでは、セルE12:F19に画像を表示することにします。アクティブセルをセルE2に移動します。

[Shift]キーを押しながら[編集]メニューをクリックします。

表示されるメニューから[図のリンク貼り付け]をクリックします。

実行すると、セルE12を左上にして、コピーしたセル範囲E2:F9が表示されます。

[ESC]キーを押して、カットコピーモードを終了します。

[図のリンク貼り付け]は、[Shift]キーを押しながら[編集]メニューをクリックしないと表示されませんので注意してください。

画像を切り替える仕組み「名前」を定義する

完成までもう少しです。

[挿入]メニューの[名前]をポイントして[定義]をクリックします。実行すると[名前の定義]ダイアログボックスが表示されます。

[名前]ボックスに"画像"と入力し、[参照範囲]ボックスに"=INDIRECT($C$12)"と入力します。"画像"は、画像を切り替える式の名前です。もちろん他の名前でもかまいません。参照範囲で使用したセルのアドレスC12は、ここに画像を切り替える文字列を入力するという意味です。間違いなく入力できたら[OK]ボタンをクリックして[名前の定義]ダイアログボックスを閉じます。

表示領域の式を書き換える

ダイアログボックスを閉じると、貼り付けた画像が選択された状態になっているはずです。選択されていないときは画像をクリックして選択してください。数式バーに「=$E$2:$F$9」と表示されているのを確認してください。

数式バーをクリックして、「=$E$2:$F$9」を「=画像」と書き換えます。

切り替え用のリストを作る

画像を切り替える仕組みは完成しました。

ここでは、簡単に切り替えるために、セルC12にリストを作成します。セルC12とは、手順3.のINDIRECT関数で指定したセルです。

アクティブセルをセルC12に移動して[データ]メニューの[入力規則]をクリックします。実行すると[データの入力規則]ダイアログボックスが表示されます。

[入力値の種類]ボックスで"リスト"を選択し、[元の値]ボックスに"ワイン,ビール"と入力します。間違いなく入力できたら[OK]ボタンをクリックします。隣のセルB12に"画像:"などと入力しましょう。セルC12のリストで画像を切り替わるのを確認してください。

見栄えを整える

これで完成なのですが、よく見ると切り替わる画像が見苦しいです。切り替える画像は「リンク貼り付け」で貼り付けているので、微妙な大きさの違いで枠線などがずれてしまうんですね。こんなときは、元のセル範囲を加工して見栄えを整えます。

セルE12に貼り付けた画像を右クリックして[図の書式設定]をクリックします。実行すると[図の書式設定]ダイアログボックスが表示されます。[色と線]タブを開き[塗りつぶし]の[色]で"自動"を選択します。

セル範囲B2:C9を選択して[書式]メニューの[セル]をクリックし[セルの書式設定]ダイアログボックスを開きます。

[罫線]タブを開き、「内側」に白色の罫線を引きます。同じように、セル範囲E2:F9の「内側」にも白色の罫線を引きます。なお、ここではわかりやすくするために、セル範囲の周囲に罫線を引いています。

もう一度完成図をお見せします。

なお、INDIRECT関数については「INDIRECT関数の使い方」をご覧ください。

入力規則のリストについては「ワークシート上でリスト入力する」をご覧ください。