• ベストアンサー

エクセル:データベース(名簿)で写真を参照したい

エクセル名簿でJPEG写真をセルに張っています。 ◆他シートでその人のIDを入力すれば、写真を表示させるような参照したいのですが、もちろん、VLOOKUP関数ではできませんよね。 ◆そのようなことは可能でしょうか? ◆可能ならばどのようにやればよいのでしょうか?ご指導お願いいたします。 ◆参照先も表になっていて何人も同時に表示したいイメージです。 以上、ご指導よろしくお願いいたします。

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

  • ベストアンサー
  • takuteku
  • ベストアンサー率46% (26/56)
回答No.5

連続投稿ですみません、takutekuです。 >参考になったURL貼っておきますが、私はすべてURLの通りにしたわけではないので説明がうまく出来ません。 たぶん、私が悪戦苦闘したようにyastaroさんも『?』がいっぱい出ていることと思います。私は、自分なりにアレンジして何とか解決しましたが、先ほどネットで検索したら偶然にも私がやった方法と似ているものを発見しました。 ただ、 参照範囲の中の数式が私とは違いますが… #2で貼り付けたURLより、こちらのURL↓の方がわかりやすいと思いますので、そちらを参考にして下さい。わからないことがあったらまた補足します。 ここまで言っておいて、yastaroさんのやりたいことと趣旨が違ってたらすみません…。

参考URL:
http://www.geocities.jp/chiquilin_site/data/050530_search.html
yastaro
質問者

お礼

何度も心あたたまる優しいご回答をいただき、ありがとうございます。イメージ通りのURLです^^ ただ、私の理解不足とスキルの低さのため、できないのです^^; これからまだ試行錯誤を繰り返して挑戦してみたいと思います。長引きそうなので、いったん締め切りたいと思います。心からの感謝をこめて。本当にありがとうございました。またご指導いただける機会があればと思います。m(_ _)m

すると、全ての回答が全文表示されます。

その他の回答 (5)

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

VBAでやってみます。 これとて、私が出すぐらいだから、初等的で、アラを探せば出てくるかもしれない。 しかし質問の程度のものになると、VBAの勉強が必要でしょう。 自分や誰でもがしたいこととはいえ、二ーズばかり大きくて(実は難しくて)、それに必要なスキルを勉強してない質問者の質問がOKWAVEで増えるように思います。 ーーー A1に1から4まで1つの数字(氏名コードの代わり)を入れます。 A2セルは写真を挿入するため、面積を少し大きくしておいてください。 F3:G6に 1 blue hills 2 sunset 3 water lilies 4 winter F列は人間の写真のファイル名の代わり(拡張子除き)の、手近な画像ファイル名を使いました。 Sheet1のChangeイベントに下記を貼り付けます。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Worksheets("Sheet1").DrawingObjects.Delete Application.ScreenUpdating = False fn = WorksheetFunction.VLookup(Range("A1"), Range("e3:F6"), 2, False) ' MsgBox fn ActiveSheet.Pictures.Insert( _ "C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\" & fn & ".jpg" _ ).Select Selection.Top = Cells(2, "A").Top Selection.Left = Cells(2, "A").Left Selection.Width = Cells(2, "A").Width Selection.Height = Cells(2, "A").Height Application.ScreenUpdating = True End If End Sub ーーーーー 1を入れるとA2セルにBlueHillsの画像が、4を入れるとwinterの画像が出ます。

すると、全ての回答が全文表示されます。
  • takuteku
  • ベストアンサー率46% (26/56)
回答No.4

#2のtakutekuです。 早速間違いがありました!すみませんが、訂正させて下さい。 >ヒントは、写真を表示したいところに四角いオブジェクト(写真の入る大きさ)を挿入します。 そのオブジェクトに表示ツール→挿入→名前→定義で とありますが、オブジェクトではなくオートシェイプと書きたかったのですがそれも間違いです^^; 参考URLの図のリンク貼り付けというところがポイントです! 写真を抽出したいシート内で空白セル(どれでも良い)をとりあえずコピーして下さい Shift押しながら編集で図のリンク貼り付けをクリック そうするとセルと同じ大きさの四角が出ると思います。それに >ツール→挿入→名前→定義で 名前の定義で名前をつける と続けてください。以降は同じです。

yastaro
質問者

補足

二度にわたるご指導を感謝します。補足欄ですが、お礼です。まだ飲み込めていないので、もうすこしお時間いただいて勉強してみます。またご指導依頼をお願いするかもしれません。よろしくお願いします^^

すると、全ての回答が全文表示されます。
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.3

関数だけで、動的な表示を画面内にすることは無理です。 VBAで構築する必要があります。 参考:http://www.excel.studio-kazu.jp/cgi-bin/kazuwiki2.cgi?mycmd=read&mypage=%5B%5B20060606191859%5D%5D パスを表示するだけ(それをクリックして別アプリで表示させる)だけで良いのであればHYPERLINK関数とINDIRECT関数を組み合わせることで(どこかのセルの値を参照させて)動的に画像へのパスを設定することができます。この場合は別にBMPでなくともどんな種類のファイル(アプリの関連付け次第)でも可能です。

yastaro
質問者

お礼

ご回答ありがとうございました。VBAは、ただいま本を何冊か購入して勉強をはじめましたが、私のスキルではまだまだ難しいところです。教えていただいたURLでも勉強してみます。本当にありがとうございました。

すると、全ての回答が全文表示されます。
  • takuteku
  • ベストアンサー率46% (26/56)
回答No.2

>参照先も表になっていて何人も同時に表示したいイメージです。 は、難しいかもしれませんが、 実際に似たような事をして、画像を表示させるようにしています。 私はここで検索して、何とかできるようになったので、 ちょっと説明に時間を要します。今は忙しいので、時間をもらえればゆっくりお答えします。 ヒントは、写真を表示したいところに四角いオブジェクト(写真の入る大きさ)を挿入します。 そのオブジェクトに表示ツール→挿入→名前→定義で 名前の定義で名前をつける その中の下の方に参照範囲とありますので、そこに INDEX関数やMATCH関数を組み合わせて数式を入力する オブジェクトを選択している状態で数式バーに=名前 で良かったと思います。 参考になったURL貼っておきますが、私はすべてURLの通りにしたわけではないので説明がうまく出来ません。すみません…。

参考URL:
http://www.officetanaka.net/excel/function/tips/tips14.htm
すると、全ての回答が全文表示されます。
  • akio_myau
  • ベストアンサー率34% (515/1480)
回答No.1

確かJPEGでは無理だったと思います。表示させるのは。 HYPERLINK関数を使い、BMPを利用してできた記憶があります。

yastaro
質問者

お礼

ご回答ありがとうございました。簡単にできればよいなと思っていましたが、そうではないようですね。

すると、全ての回答が全文表示されます。

関連するQ&A