プロが教えるわが家の防犯対策術!

あるセルをクリックするとエクセルのコメント機能のように画像が表示されるようにしたいと思います。
調べて本屋でVBAの本を読んだところ、イベント処理、ユーザーフォームに画像を表示させるという方法があるようですが
VBAに関しては全くの素人で歯が立ちません。
初心者だからと甘えていて大変恐縮ですが、立ち往生しております。
ご教授いただけたら幸いです!!

【具体的にしたい処理】
ブック-企画.xlsの シート名 表紙のA1セルをクリックすると画像”小鳥.jpg”が表示される。
【ブックの情報】
格納フォルダ:D:\見出し
ブック名:企画.xls
シート名:表紙
画像に関しては↓
【表示させる画像の情報】
格納先フォルダ:
C:\Documents and Settings\0501402499\My Documents\イメージ
ファイル名:小鳥.jpg

A 回答 (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

これで出来ると思います。

この回答への補足

早速、ありがとうございます。
私もハイパーリンクで提案してみたのですが
これでは駄目ということで(上司が)途方にくれていました。

補足日時:2006/03/13 11:33
    • good
    • 1
この回答へのお礼

ありがとうございます。
早速やってみたのですが エラーが出てしまいました。
どこか記入漏れや違った箇所があるのでしょうか。
お忙しいところ恐れ入りますがご教授いただけたら幸いです。

◆エラー
 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です。

お礼日時:2006/03/13 13:33

ナンバー1さん una1です!!


同僚のIDで入りました。
うまく出来ましたのでお礼申し上げます。
構造見て勉強していきます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング