• 締切済み

再度マクロで質問します。

セルのG9に 圧01-1.JPGという文字がはいっています。G9には関数の式 CONCATENATE(  )により、 圧01-1という表示になっているます。この為、セル G9の文字は変化するわけですが、今WINDOWSのデスクトップ上に写真というフォルダがありその中にいくつかのファイルがあります。 セルG9と一致するファイル(JPGファイル)を エクセル上で結合されているセル (A2:A13)に 自動的に貼りつけたいのですが、マクロがよくわかりません教えて下さい。

みんなの回答

回答No.4

エラーになる原因は2つ考えられます。 1つは指定したファイルが存在しない場合。 2つ目はファイル名が間違っている場合です。   特にファイル名で、全角と半角は区別されますので、 G9セルにあるファイル名と、実際のファイルのファイル名とを調べてみて下さい。 ファイルの存在をチェックするコードです。 ActiveSheet.Pictures・・・の前に入れて見て下さい。 Set fs = CreateObject("Scripting.FileSystemObject") If fs.Fileexists("C:\デスクトップ\" & Range("G9").Value) = False Then A = MsgBox("Not Exist!", vbOKOnly, "Error") Exit Sub End If

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

G9セルの値が 圧01-1.JPG であるとして。 1. ActiveSheet.Pictures.Insert("(パス)\" & Range("G9").Value).Select のパスで指定した場所に、その名のファイルがちゃんとありますか? 2. G9セルに表示されているファイル名の「.JPG」が半角になっていますか?特に「.」。 はずしていたら、すみません。

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.2

G9 は固定ですので、下みたいになりますでしょうか。 ActiveSheet.Pictures.Insert("C:\Desktop\" & Range("G9").Value).Select

GACHAMAN
質問者

補足

ありがとうございます。 やってみましたがエラーがでました。 G9の値が文字だからでしょうか? それともG9のセルに関数が入っているからでしょうか? よい知恵をお貸し下さい。

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.1

どの部分がわからないのか不明ですが、 図の貼り付けでしたら、 マクロの記録を取れば、2行コードが出てくると思います。 それとも (1)G9 で示されたファイルを変数として扱うのがわからない (2)写真フォルダを検索したい(必要ないと思いますが) (3)指定したファイルがないときのエラー処理  (On Error Resume Nextで無視でいいと思いますが) とかでしょうか

GACHAMAN
質問者

補足

多分(1)のところでまよっているのだと思います。 マクロの activesheet.picturres.Insert(c:\デスクトップ\・・・・)の・・・・の所に変数をいれたいのですが? お願いします。

関連するQ&A