- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルをクリックすると とある画像表示できるマクロ処理)
セルをクリックして画像表示する方法とは?
このQ&Aのポイント
- Excelのイベント処理やユーザーフォームを使って、セルをクリックすると画像が表示されるようにする方法について調査しました。
- 具体的には、ブック-企画.xlsの表紙シートのA1セルをクリックすると、画像「小鳥.jpg」が表示されるようにしたいです。
- しかし、VBAに関する知識がなく初心者であるため、どのように実装すれば良いのか分かりません。ご教授いただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ただ画像を表示させるだけなら、 A1セルにハイパーリンクを挿入し、リンク先のアドレスを C:\Documents and Settings\0501402499\My Documents\イメージ\小鳥.jpg とするだけで出来ますが、それではダメなのでしょうか? VBAも必要無いし簡単かと思います。 どうしてもVBAでということであれば、 以下のような感じで・・・。 イメージコントロールを配置したユーザーフォームを用意する。 (フォームの名前はUserForm1、コントロールの名前はImage1とする) フォームモジュールに以下のコードを記述 Private Sub UserForm_Initialize() Me.Image1.Picture = _ LoadPicture("C:\Documents and Settings\0501402499\My Documents\イメージ\小鳥.jpg") End Sub シートモジュールに以下を記述 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address(0, 0) = "A1" Then UserForm1.Show End Sub これで出来ると思います。
その他の回答 (1)
- anchan1
- ベストアンサー率25% (142/554)
回答No.2
ナンバー1さん una1です!! 同僚のIDで入りました。 うまく出来ましたのでお礼申し上げます。 構造見て勉強していきます。
お礼
ありがとうございます。 早速やってみたのですが エラーが出てしまいました。 どこか記入漏れや違った箇所があるのでしょうか。 お忙しいところ恐れ入りますがご教授いただけたら幸いです。 ◆エラー If Target.Address(0, 0) = "A1" Then UserForm1.Showで 53 実行時エラー ファイルが見つかりません (→UserForm1.Showの部分です)が出てしまいました。 ◆ユーザーフォーム オブジェクト名はUserForm1にしてあります ◆コントロール ユーザーフォーム内にツールボックス→コントロール→ピクチャを入れております。 全体のプロパティで オブジェクト名:イメージ1 Picture:(ビットマップ)←目的の画像 C:\Documents and Settings\0501402499\My Documents\イメージを挿入 という状態にしてあります。 シートに関しては Sheet1(表紙)をクリックして Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address(0, 0) = "A1" Then UserForm1.Show End Sub を記入しました。 オブジェクト名はSheet1です。
補足
早速、ありがとうございます。 私もハイパーリンクで提案してみたのですが これでは駄目ということで(上司が)途方にくれていました。