• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excelにて。VBAで、フォルダ内の画像を一覧の横に表示させたい。)

Excel VBAでフォルダ内の画像を一覧表示する方法

このQ&Aのポイント
  • ExcelのVBAを使用して、特定のフォルダ内の画像を一覧表示させる方法について教えてください。
  • 過去に似たような質問があり、試したVBAが近い内容でしたが、一つのセルに一つの画像を表示するだけでした。
  • 私はさらに、特定のシートのA列に画像名の一覧があり、それに対応した画像を別の列に表示する方法が知りたいです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

ご質問に書かれた >あるシートのA列に、画像名の一覧がある。(マックス500行程度) のようになっていない,たとえばA1やA2などのセルが空欄になっていて画像名が記入されていない状況が想定されます。 変更前: if dir(p & h) <> "" then 変更後: if h <> "" and dir(p & h) <> "" then としてみます。 まだダメだったときは。 どんなデータも一つも通らずダメなのか,特定のセル番地,特定の画像名などでダメなのか,エラーの出る詳しい状況を何でも全て教えてください。 VBE画面でデバッグを行い,エラーが出た時点でhやらpにどんな内容が実際に入っていたのかを確認し,教えてください。 また念のためご利用のエクセルのバージョンについてもきちんと教えてください。 #基本ですがもしも「デバッグとは何ですか,どうしたらいいですか」について,やり方を知らない判らないときは必要に応じて別途ご相談を投稿してみてください。

rock0000
質問者

お礼

ありがとうござました。 まさにそれ、空欄セルがあったからでした。 こちらのマヌケなミスで、お時間おかけして申し訳ありませんでした。 見事に画像が現れて、感動いたしました。 どうもありがとうございました!

その他の回答 (2)

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.3

>当方はVBAできません。ネットで拾ったものをコピペして使っているレベルです。 ってことですから >p = "c:\あるフォルダ\" もそのままのような気がする・・・

rock0000
質問者

補足

わはは。さすがにそれはありません!

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim p as string  dim h as range  p = "c:\あるフォルダ\"  activesheet.pictures.delete  for each h in range("A1:A" & range("A65536").end(xlup).row)   if dir(p & h) <> "" then    with activesheet.pictures.insert(p & h)     .name = h     .top = h.offset(0, 1).top     .left = h.offset(0, 1).left   ’不要なら次の2行をコメントアウト     .width = h.offset(0, 1).width     .height = h.offset(0, 1).height    end with   end if  next end sub など。

rock0000
質問者

補足

早速ありがとうございます。 やってみたところ、マクロを実行するとエラーが出ます。 「With ActiveSheet.Pictures.Insert(p & h)」にデバックの黄色が出ているのですが、何が問題なんでしょうか????

関連するQ&A