• ベストアンサー

エクセルでの画像表示について

こんばんわ。質問させていただきます。  エクセル2000で、コメントの表示みたいにセルにカーソルを合わせただけで、画像を表示させることはできるのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

>...コメントの表示みたいにセルにカーソルを合わせただけで、画像を表示させる imogashiさんがコメントされていますが、EXCEL向きではありませんね。 「それらしいこと」はできなくはありませんが、VBAでの実装になります。 ただし、セルのダブルクリックが表示のトリガーになります。 理由は、imogashiさんが解説されていますとおり、Excelで「セル上にカーソルがのった」状態をVBAで検知できないからです。 (私の力量では) 参考までに。 <手順> 1. シート上に画像を挿入したら、名前を付ける。例)Pic001 2. 任意のセルに、1.でつけた名前を入力する 例)A1セルに Pic001 と入力 3. 画面下のシート選択タブ上の右クリックメニューから「コードの表示」をクリック 4. VBEが起動しますので、次のコードをコピー&ペースト 'なんちゃって画像コメント表示 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   On Error GoTo ErrorHandler   If Target.Value <> "" Then     With ActiveSheet.Shapes(Target.Value)       .Visible = Not (.Visible)     End With     Cancel = True   End If ErrorHandler:   Exit Sub End Sub これで、A1セルのダブルクリックが、写真の表示と非表示のスイッチになります。 理屈としては、HTMLのレイヤーみたいなのものですね。 ちなみに、ダブルクリックにしたのは、CPU負荷を考慮したからです。

sweetpig
質問者

お礼

とても丁寧なお返事を頂き、ありがとうございました。 是非、また機会がありましたらよろしくお願いいたします!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

おそらくVBA(それもイベントプロシージュア)かAPIを使わないと出来ないと思うので無理でしょう。 その方面の興味と知識がありますか。 質問において、考えているセルは当然複数であろうと思いますが、(1)「このセルにはこの画像」と言う風に決まっているのか、(2)画像に付いてフォルダに収まった順序によってサムネイルのように次々ずらしていくのか、(3)いつも同じ画像を表示するのか書いてありません。 それにエクセルVBA(2000)ではMouseMove、MouseOverのようなシートのイベントがないので、マウスがそこへ行くと何かするというクリッカブルマップのようなのは難しいと思います。 セルをクリックしたとき、いつも同じ画像を右隣セルに表示する例を上げてみます。 止める仕組みも入れてないし、不完全なものですが。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveSheet.Pictures.Insert("C:\My Documents\千鳥格子.bmp").Select Selection.Width = Target.Offset(0, 1).Width Selection.Height = Target.Offset(0, 1).Height Selection.Left = Target.Offset(0, 1).Left End Sub (1)(2)の場合はInsert("C:\My Documents\千鳥格子.bmp")の部分を次々ずらしていることになりますが テクニックが要ります。 こういうのは、エクセルに拘らず、それ向きのフリーソフトでも探されては。なんでもエクセルと言うのは陥りやすいことですが適当でありません。

sweetpig
質問者

お礼

教えていただき、ありがとうございました。 また、機会がありましたら是非、よろしくお願いいたします!

関連するQ&A