• ベストアンサー

エクセル ハイパーリンクで画像を表示

ハイパーリンクで画像を呼び出す際、クリックしてブラウザを立ち上げるのでなく、エクセルの画面上(セル内)にそのまま表示させる書式設定や関数などはありますか?ご存知でしたら教えて下さい。 <詳細> 画像入りの商品タグを自動で作成する表を作っています。 商品一覧表(シート(1))からタグを作りたいものにチェックを入れると、別シート(シート(2))にタグの体裁で情報が配置され、そのまま印刷できる…というものです(A4用紙1枚に縦型のタグが60枚程度)。 関数を使って文字情報を配置するところまでは何とかできたのですが、画像の配置のところでつまずいています。 取り急ぎ画像を直接ドラッグして配置し、1つ1つ並べ直していますが、商品数が多いのと(1万点ほど)情報の変更が頻繁にあるので、方法があれば画像も自動配置したいと思っています。 シート(1)     A列     B列     C列(画像リンク) 1 商品番号 | 棚番A1 | C:\Dcuments (略) 001.jpg 2 商品番号 | 棚番A2 | C:\Dcuments (略) 002.jpg 3 商品番号 | 棚番B1 | C:\Dcuments (略) 003.jpg    : シート(2) | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| ̄ ̄ |商品番号|商品番号| |‥‥‥‥|‥‥‥‥| |商品画像|商品画像|←※ |‥‥‥‥|‥‥‥‥| |棚番:A1|棚番:A2| |____|____|__ | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| ̄ ̄ ※=HYPERLINK(シート(1)!C1,"■")) (別名(■)のところをどうにかすればいいのでしょうか…) どうぞよろしくお願いいたします。

  • h041
  • お礼率100% (6/6)

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

関数ですか... 無いこともなく、[名前の定義]と組み合わせれば可能ですが、 事前に画像を読み込んでおかないといけないので『(1万点ほど)』だとおよそ実用的ではないです。 一応、http://oshiete1.goo.ne.jp/qa5092871.html こちらで紹介したサイト http://www.officetanaka.net/excel/function/tips/tips14.htmhttp://www.geocities.jp/chiquilin_site/data/050530_search.html ここなど参考になるかもしれません。 実際にはセルに画像ファイルのフルパスを入力しておいて、関数で参照し、 マクロで読み込むという処理になってしまうでしょうね。 以下Q&A参考に、セル位置等応用できれば、なんとかなるかもしれません。 『マクロでセルに入れたファイル名の画像を隣のセルに読み込む』 http://oshiete1.goo.ne.jp/qa5454724.html 『VBAを使ったエクセルでの画像複数表示』 http://oshiete1.goo.ne.jp/qa4004938.html 『社員写真帳への写真の取り込みについて質問です』 http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi?mode=al2&namber=29522&rev=&no=0&P=R&KLOG=191 がんばってみてください。

h041
質問者

お礼

「名前の定義」を使った画像の配置のページ、とても興味深く読ませていただきました。今回の表には適さないということですが、関数でも画像の入れ替えや検索ができると分かって大変ためになりました。 4~6番目にご紹介いただいたページは、まさに私がやりたかったことでしたので、なんとか解読して実用できるようになりたいと思います。マクロのことはまだほとんど分かっていませんが、「セルに画像ファイルのフルパスを入力しておいて、関数で参照し、マクロで読み込む」というご説明で、なんとなく全体の構成がつかめたような気がします。これをキーワードに完成までがんばってみたいと思います。 関数だけでは無理かも…?と思っても次に何を勉強すれば良いのかもよく分からなかったので、目標が明確になって本当に助かりました。 この度はご回答いただき、ありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 大きく外しているかもしれませんが・・・ ↓の画像の右側がSheet2になり、2行目をクリックすると Sheet1のC列のセルがアクティブになる方法です。 尚、Sheet1の行並びとSheet2の列並びが同じと言う条件です。 Sheet2のA2セルに =HYPERLINK("#sheet1!C"&COLUMN(A1),"商品画像") という数式を入れ、列方向へオートフィルでコピーします。 これで仮にSheet2のB2セルをクリックすると Sheet1のC2セルにがアクティブになります。 以上、参考になれば幸いですが、 最初に書いたように大きく外している可能性もありますので その場合は読み流してくださいね。m(__)m

h041
質問者

お礼

今回は、できればクリックせずに画像を表示させたい…と考えておりました。 ですが、とても分かりやすい説明画像まで作ってくださり、大変うれしかったです。ぜひ、別の場面で参考にさせていただきます。 ご回答いただき、ありがとうございました。

  • hornest
  • ベストアンサー率16% (2/12)
回答No.2

・C列のダブルクリックをトリガにして、マクロを組みましょう。  Worksheet_BeforeDoubleClick ・画像の挿入および体裁をマクロの自動記録に記録し内容を変えましょう。  ActiveSheet.Pictures.Insert 等 それから、解らない所を質問してもらえればと思います。

h041
質問者

お礼

すぐにお礼の返信をするべきでしたが、少しお時間をいただいてマクロの基本構文などを公開しているサイトをいくつか見てきました。マクロに触れるのは初めてでしたので、最初はご回答の内容が全く分かりませんでしたが、今では少しイメージできるようになりました(できれば次の段階の質問をさせていただきたかったのですが…。まだ無理でした)。 この週末を利用して、もう少し理解を深めたいと思います。 勉強のきっかけを下さったことを感謝します。ありがとうございました。

  • akiomyau
  • ベストアンサー率43% (555/1280)
回答No.1

残念ながらそういった関数はありません。

h041
質問者

お礼

早速のご回答、ありがとうございました。 やはり関数だけでは無理なのですね…。 なんだかありそうな気がして以前から探していたのですが、これで諦めがつきました。ありがとうございました。

関連するQ&A

  • エクセル関数のハイパーリンクについて

    初めて質問します。よろしくお願いします。 エクセル2000を使っています。 A列に商品番号 B列にハイパーリンクを下記の関数で入力しています。 =HYPERLINK("c:\windows\デスクトップ\○○\"&A1&".jpg") デスクトップの○○というフォルダ内に商品の画像を商品番号の名前で保存してあります。 B列のハイパーリンクをクリックすればその名前の商品の画像が見れるようになっています。 商品が1000個ほどあるため、B列の関数はコピーしたのですが、今現在、どの商品の画像があるのかないのかわからない状態です。 そこで、C列にリンク先が存在するかどうかを関数で入力したいのです。そのような方法はあるでしょうか?出来ればマクロではなく関数でお願い致します。 また、その方法はエクセル2003でも問題ないかどうかもお願い致します。

  • エクセルで次々と画像を表示させたい

    例えば、Sheet1に、支店番号、支店名、住所、電話番号、地図(jpgファイル名)等の項目を作り、100件以上のレコードが入っている表があります。 Sheet2に、上記の1レコード(=1支店)分のデータをA4用紙に見やすく配置したフォーム(?)を作り、VLOOKUP関数を使って、データを表示させるようにしました。(つまりA支店の支店番号を選ぶとA支店のデータが、B支店の支店番号を選ぶとB支店のデータが表示) ★この時、それぞれのレコードのjpgファイルの画像も表示させたいのですが、どのようにすればできるのでしょうか? ハイパーリンクのように他に飛んで表示させるのではなく、エクセルのその場所に表示させたいのです。(1支店分をA4用紙で印刷したいので) 別のシートで、実際に画像を貼付たものとその名前のデータベースを作り、それとリンクを貼る。という方法を知ったのですが、レコード件数がかなりあるので、この方法はちょっと使えません。 他に何かいい方法をご存知の方がいらっしゃいましたら、どうか教えて下さい!関数、Visual Basicの使用でも構いません。 ちなみに画像は、エクセルファイルの置いてある下(サブフォルダ)にまとめて入れております。宜しくお願い致します。

  • Excelのハイパーリンクについて

    下記の様なリンクを作りたいです。 2つのシートにそれぞれ表を用意しています。 シート1      A列   |  B列  |  C列  |・・・・ 1行|       |  5/20 |  5/21  |・・・・ 2行|  名前A  |  123  |      |・・・・ 3行|  名前B  |     |  234  |・・・・             :             :             : シート2に     A列   |  B列    |C列 1行|名前A   |  5/20    |123  ←ここの値は何でも良い(分かり易くするために123にしました) : : : と入っています。(実際はもっと沢山の情報があります) シート2のC列の値をハイパーリンクにして クリックされたら シート1のA列の値=シート2のA列の値 シート1の1行目の値=シート2のB列の値 で シート1のB2に飛びたいです。 この様な式を作りたいです。

  • エクセル マクロ フルパスから画像を読み込む

    数日前からマクロを勉強し始めた初心者です。 下の画像のような表を作っています。 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ ■Sheet1 …「商品在庫一覧」 ■Sheet2 …「印刷用シート」※必要なものだけをSheet1から呼び出し、印刷用として同じシート上で並べ替える(図では‘行5’から下が印刷範囲です) ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ Sheet2のD列(D1~D3‥)に商品画像のフルパスを呼び出し、「写真を配置」のボタンを押すと、印刷範囲の‘行7’のセルに自動で画像が配置されるようにしたいです(‘あ’のパスの画像を‘い’のセルに)。 画像を配置するような関数はなく、マクロでなければ実現できないということで、似ている条件の構文をアレンジして‥と思ったのですが、マクロのことをきちんと理解できていないためうまくいきません。 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ ■「D1」のパスから「A7」に画像を配置する構文を教えていただけますでしょうか。 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 初歩的なことを聞いてすみません。 完成までの残り時間があまりないもので、質問させていただきました。 どなたかお暇がありましたら、お願いいたします。

  • excelで画像のハイパーリンクをセル値参照できませんか?

    Excelにて画像(Jpg)をハイパーリンクにて貼付けしていますが、画像のファイル名をセル上の値と同じした時にハイパーリンク先を自動計算(演算)させる方法はどのようにすれば良いのでしょうか? シート上のA1セルの値:00001・・文字情報 ハイパーリンクしたい画像のファイルネーム:00001.JPG シート上のA2セルの値:00002・・文字情報 ハイパーリンクしたい画像のファイルネーム:00002.JPG 以下、A2、A3・・・・と続く ハイパーリンク先の参照先:(A1).JPGの様なイメージです。 これが出来れば、ドラッグして全ての行を同じ演算式にして参照 できるのかな?と思っています。

  • エクセル関数

    こんばんは。丸1日格闘していましたが解決できない為、質問させてください。 sheet1 エクセルのA列に1~200まで番号があります。 B列にはその名称が1~200まで記入されています。 C列にはその画像が1~200まで貼り付けてあります。 そのような状態でsheet2のA2セルに =vlookup(A1,sheet1!A1:C200,3,false) と計算式を入れてsheet2のA1に例えば「4」を入力したらsheet1のC4に貼り付けてある画像を表示させたいのですが関数で出来ますか?

  • EXEL関数

    2つのEXCELシートが有り、各シートには以下の様なデーターが載ってます。 例えば、A・Bシート共に A列:商品No B列:型番 C列:数量  と記載されてます。 ただ、BシートにD列:棚番 が所々に記載されてます。 このA・Bシートの 商品No と 型番 が一致するデーターに対して、Bシートの所々に記入されて いる棚番をAシートのBシートと一致する列にワンクリックで転記したいのですが、関数の使い方、 関数の設定の仕方が解りません。 何方かわかる方、関数の設定の仕方を教えてください。 Aシート 品番  型式  数量 1234 ABCD 100 1257 abcde 2 1266 xzabc 15 1556 CHYU 85 1324 ccdeu 158 Bシート 品番  型式  数量 棚番 1234 ABCD 100  A-1 1457 abcdg 2 1536 CHwU 85 1266 xzabc 15  B-4 1335 cDdeu 168 E-8       ↓ Aシート 品番  型式  数量  棚番 1234 ABCD 100  A-1 1257 abcde 2 1266 xzabc 15  B-4 1556 CHYU 85 1324 ccdeu 158

  • エクセル 画像をVLOOKUPみたいに出したいです

    https://www.forguncy.com/blog/20170818_vlookup_picture を参考に INDEXとMATCH関数を使用し作成しているのですが、、どうもうまくいきません。 シート2に、 A列・・品名1 B列・・品名2 C列・・画像 D列・・金額 シート4にVLOOKUPで、セルA2に品名1、セルB2に品名2、セルD2に金額、は完璧に出るのですが、セルC3に画像だけどうも出ません。 名前の定義で”写真”と名前を付け、参照範囲に以下をやりました。 =INDEX(Sheet2!$A$2:$A$10,MATCH(Sheet4!$A$2,Sheet2!$C$2:$C$10,0)) セルC3には、#N/Aとでます。 初心者です。難しいことはできません。 ご教授お願いします。

  • エクセルで在庫情報と発送みたいなものを作りたい。

    エクセルで在庫情報と発送みたいなものを作りたいのですが、 まずは、これができるのか?どうか?知りたいのですが (なんとなくできそうですが) さらには、どうやったらいいのか? エクセルエキスパートなデキる方、教えて頂けないでしょうか? 大きく2つあります。 例のようにプレゼントの発送と在庫をエクセルで表示したいのです。 この画像を参考にしてください。 http://bsmile.sakura.ne.jp/phptest/aa1.jpg ===その1 イメージは在庫管理=== 添付画像のようなエクセルは関数でつくれますか? シート「商品A~商品C」に任意に商品が入ってたとします。 (それぞれのシートはA,B,C列の3項目とします。) (尚、左上の在庫情報はcounta関数をつかってるだけです。) それを「まとめ」のシートの B列に「商品?」を入力した場合 それにそって、ワークシート「商品A,B,C」から、商品を取り出して、 右に列記する事は可能でしょうか? (サンプル左上の太枠で囲った、薄紫の部分) なお、例の通り、B列には任意でワークシートの名前を入力するものとし 同じ「商品B」があれば、商品Bシートの2番目のファイルが並ぶものとします。 まずここまでをどう作ったらいいか?ほぼわかりません。 ===その2 イメージは発送処理とその後の在庫管理=== その後マクロでも関数でもいいのですが、 「発送しました」ボタンか何かを付けて、 それを押すと 商品Aは1行目が 商品Bは3行目まで 商品Cは2行目まで 自動的に削除されてそれぞれが1行目に移動(在庫が減るというイメージ)し、 その1でのルールで内容が記載される (つまり、商品Aは1つ、商品Bは3つ、商品Cは2つ内容が減る) ======== こういったエクセルを作りたいのですが、 そもそも、左上のB列の名前に入ったワークシートを どうやって、宣言すればいいか?すらわかってません。 それはこの関数だ!とか、参考になるWEBアドレス等あったらおしえていただけませんでしょうか? この画像を参考にしてください。 http://bsmile.sakura.ne.jp/phptest/aa1.jpg どうぞよろしくお願いいたします。m(_ _)m

  • データの整合性のエクセル関数教えてください!

    例えばシート1が A列     B列   C列 123さん  12番   1番 345さん  13番   2番 678さん  14番   3番 シート2は A列    B列    C列    D列   345さん   A    13番    3番    123さん   B    12番    1番    678さん   C    14番    3番    という表があった場合にシート1の123さんのB列とC列が シート2の123のC列とD列の番号と一致しているかどうか をE列に●×で表示させたい時はどのような関数を使え ばいいのでしょうか?ちなみにシート1とシート2は順番も 項目も違う内容になっています。 VLOOKとIFを組み合わせたりしたのですが、どうしも うまくいかず困っています。 どなたかおわかりでしたら教えてください。

専門家に質問してみよう