エクセルでプレゼン資料や説明書を作成する際に、クリックすると図形や画像が表示されるような動的な仕組みを作りたいと思ったことはありませんか?
この記事では【Excel】エクセルでクリックすると図形が出る設定方法【表示が変わる・画像・オブジェクト】について解説していきます。
ポイントは以下の通りです。
・VBAマクロでクリック時に図形を表示・非表示
・フォームコントロールのボタンで図形の切り替え
・ハイパーリンクとブックマークで画像を表示
それでは詳しく見ていきましょう。
エクセルでクリックすると図形が出る設定方法1【VBAマクロで表示・非表示を切り替え】
エクセルで特定のセルや図形をクリックしたときに、別の図形やオブジェクトを表示させる最も柔軟な方法は、VBAマクロを使用することです。
VBAマクロを使えば、クリック操作に応じて図形の表示・非表示を自動的に切り替えたり、複数の図形を順番に表示したりできます。
プレゼンテーション資料や操作マニュアル、インタラクティブな説明書などで非常に効果的でしょう。
図形を配置する準備
まず、表示したい図形や画像を事前にシートに配置しておきます。
「挿入」タブから「図形」または「画像」を選択して、適切な位置に配置しましょう。

配置した図形を右クリックして「サイズとプロパティ」を選択し、「プロパティ」タブで図形に名前をつけます(例:「説明図1」)。

図形に分かりやすい名前をつけておくことで、VBAコードで扱いやすくなります。
初期状態では図形を非表示にしたい場合は、図形を選択してから「図形の書式」タブ→「選択ウィンドウ」を開き、図形名の横にある目のアイコンをクリックして非表示にしてください。
VBAマクロで図形を表示するコード
「開発」タブの「Visual Basic」ボタンをクリックして、VBAエディタを開きます。

左側のプロジェクトエクスプローラーで、該当するシート(例:Sheet1)をダブルクリックしてコードウィンドウを開いてください。

以下のコードを入力しましょう。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
If ActiveSheet.Shapes("説明図1").Visible = msoTrue Then
ActiveSheet.Shapes("説明図1").Visible = msoFalse
Else
ActiveSheet.Shapes("説明図1").Visible = msoTrue
End If
End If
End Sub
このコードは、A1セルをクリックすると「説明図1」という名前の図形が表示され、再度クリックすると非表示になるという仕組みです。
VBAエディタを閉じてエクセルに戻り、A1セルをクリックして動作を確認しましょう。
複数の図形を切り替える応用例
複数の図形を順番に表示したい場合は、以下のようなコードを使用します。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
ActiveSheet.Shapes("説明図1").Visible = msoTrue
ActiveSheet.Shapes("説明図2").Visible = msoFalse
ElseIf Target.Address = "$A$2" Then
ActiveSheet.Shapes("説明図1").Visible = msoFalse
ActiveSheet.Shapes("説明図2").Visible = msoTrue
End If
End Sub
このコードでは、A1セルをクリックすると説明図1が表示されて説明図2が非表示になり、A2セルをクリックすると逆の動作をします。
【操作のポイント】
・図形に分かりやすい名前をつけておく
・Worksheet_SelectionChangeイベントでセルクリックを検知
・Visible プロパティでmsoTrueとmsoFalseを切り替え
エクセルでクリックすると図形が出る設定方法2【フォームコントロールのボタンを使用】
セルのクリックではなく、専用のボタンをクリックして図形を表示する方法もあります。
フォームコントロールのボタンにVBAマクロを割り当てることで、視覚的に分かりやすいインターフェースを作成できます。
ユーザーがどこをクリックすればよいか明確になるため、他の人と共有する資料に適しているでしょう。
ボタンの配置とマクロの作成
「開発」タブの「挿入」をクリックして、「フォームコントロール」の「ボタン」を選択します。

シート上の適当な場所でドラッグしてボタンを配置しましょう。

ボタンを配置すると「マクロの登録」ダイアログが表示されるので、「新規作成」をクリックします。

VBAエディタが開いたら、以下のコードを入力してください。
Sub ShowShape()
With ActiveSheet.Shapes("説明図1")
If .Visible = msoTrue Then
.Visible = msoFalse
Else
.Visible = msoTrue
End If
End With
End Sub
このマクロは、ボタンをクリックするたびに「説明図1」の表示・非表示を切り替えます。
VBAエディタを閉じて、ボタンのテキストを「図形を表示/非表示」などに変更しましょう。
複数のボタンで異なる図形を表示
複数のボタンを配置して、それぞれ異なる図形を表示することもできます。
2つ目のボタンを配置して、以下のようなマクロを割り当てます。
Sub ShowShape2()
ActiveSheet.Shapes("説明図1").Visible = msoFalse
ActiveSheet.Shapes("説明図2").Visible = msoTrue
End Sub
このように、ボタンごとに異なるマクロを作成することで、スライドショーのような動的なプレゼンテーションを実現できます。
すべての図形を非表示にするリセットボタンも作成しておくと便利でしょう。
Sub HideAllShapes()
ActiveSheet.Shapes("説明図1").Visible = msoFalse
ActiveSheet.Shapes("説明図2").Visible = msoFalse
End Sub
【操作のポイント】
・フォームコントロールのボタンを配置
・ボタンごとに異なるマクロを割り当て
・リセットボタンで全図形を非表示にする機能も追加
エクセルでクリックすると図形が出る設定方法3【図形にマクロを直接割り当て】
ボタンを別途配置するのではなく、既存の図形やアイコン自体をクリック可能にして、別の図形を表示する方法もあります。
図形やアイコンに直接マクロを割り当てることで、デザインをすっきりさせながらインタラクティブな操作を実現できます。
クリック可能な要素がデザインに自然に溶け込むため、洗練された見た目になります。
図形にマクロを割り当てる手順
まず、クリック可能にしたい図形(例:アイコンやボタン風の図形)を配置します。
「挿入」タブから「アイコン」や「図形」を選択して、適切なものを配置しましょう。

配置した図形を右クリックして「マクロの登録」を選択します。

「マクロ名」に新しいマクロ名(例:ShowDetailImage)を入力して「新規作成」をクリックしてください。

VBAエディタが開いたら、以下のようなコードを入力します。
Sub ShowDetailImage()
With ActiveSheet.Shapes("詳細画像")
If .Visible = msoTrue Then
.Visible = msoFalse
Else
.Visible = msoTrue
End If
End With
End Sub
VBAエディタを閉じて、図形をクリックすると「詳細画像」という名前の図形が表示・非表示されることを確認しましょう。
複数の図形を連動させる応用
1つの図形をクリックしたときに、複数の図形を同時に表示したり、配置を変更したりすることもできます。
Sub ShowMultipleShapes()
ActiveSheet.Shapes("説明図1").Visible = msoTrue
ActiveSheet.Shapes("説明図2").Visible = msoTrue
ActiveSheet.Shapes("背景図").Visible = msoTrue
End Sub
このように複数の図形を制御することで、より複雑な表現が可能になります。
図形の位置を動かす場合は、TopプロパティやLeftプロパティを使用します。
Sub MoveShape()
With ActiveSheet.Shapes("移動図形")
.Top = .Top + 50
.Left = .Left + 50
End With
End Sub
【操作のポイント】
・図形を右クリックしてマクロの登録を選択
・1つの図形で複数の図形を制御可能
・TopやLeftプロパティで図形の位置も変更できる
エクセルでクリックすると図形が出る設定方法4【条件付き書式とセルの値を使った方法】
VBAマクロを使わずに、条件付き書式とセルの値を組み合わせて、視覚的に表示を変える方法もあります。
特定のセルに値を入力すると、条件付き書式によって背景色や罫線が変わり、まるで図形が出現したかのような効果を得られます。
VBAの知識がない初心者でも実装でき、マクロが無効な環境でも動作するため汎用性が高いです。
条件付き書式で背景画像を表示
まず、表示したい画像や図形的なデザインを、セルの背景色や罫線で表現します。
表示したい範囲のセル(例:C3からE8)を選択して、「ホーム」タブの「条件付き書式」→「新しいルール」を選択しましょう。

「数式を使用して、書式設定するセルを決定」を選択し、以下のような数式を入力します。

=$A1="表示"
この数式は、A1セルに「表示」という文字が入力されている場合に書式を適用するという意味です。
「書式」ボタンをクリックして、背景色を設定したり、罫線で囲んだりしてください。

「OK」をクリックして設定を完了します。
A1セルに「表示」と入力すると、C3からE8の範囲に設定した書式が適用され、図形のように見える効果が得られます。
データの入力規則で簡単に切り替え
A1セルにデータの入力規則を設定して、ドロップダウンリストから選択できるようにするとさらに便利です。
A1セルを選択して、「データ」タブの「データの入力規則」をクリックします。

「入力値の種類」を「リスト」に設定し、「元の値」に「表示,非表示」と入力してください。

「OK」をクリックすると、A1セルでドロップダウンリストから「表示」「非表示」を選択できるようになり、それに応じて条件付き書式が適用されます。
この方法では実際の図形や画像は表示できませんが、セルの装飾だけで視覚的な変化を表現できるため、シンプルな用途には十分でしょう。
【操作のポイント】
・条件付き書式で特定の値に応じて表示を変更
・データの入力規則でドロップダウンリストを作成
・VBAなしで実装できるため汎用性が高い
まとめ エクセルでクリックすると図形が出る設定方法(表示が変わる・画像・オブジェクト)
エクセルでクリックすると図形が出る設定方法をまとめると以下のようになります。
・VBAマクロで表示・非表示を切り替え:Worksheet_SelectionChangeイベントでセルクリックを検知し、Visibleプロパティで図形を制御
・フォームコントロールのボタンを使用:ボタンにマクロを割り当てて、クリックで図形を表示・非表示
・図形にマクロを直接割り当て:図形自体をクリック可能にして、別の図形を表示する仕組みを作成
・条件付き書式とセルの値を使った方法:VBAなしで、セルの値に応じて表示を変更し、データの入力規則と組み合わせて切り替え
これらの方法を用途に応じて使い分けることで、動的でインタラクティブなエクセル資料を作成できるでしょう。
最も柔軟で高機能なのはVBAマクロを使った方法です。
フォームコントロールのボタンを使う方法は、操作箇所が明確で分かりやすいため、他の人と共有する資料に適しています。
図形にマクロを直接割り当てる方法は、デザイン性を重視した資料作成に効果的でしょう。
VBAの知識がない場合や、マクロが無効な環境では、条件付き書式を使った方法が安全で確実です。
エクセルの図形表示機能を活用して、魅力的でインタラクティブなプレゼンテーション資料を作成していきましょう!

コメント