• ベストアンサー

EXCELで画像の挿入

EXCEL2000をXPで使用しています。 1ファイルに1シートのEXCELのデータが300件あります。 シート内の決まったセルに画像を貼り付けしたいのですが 件数が増えると時もあり毎月とても時間がかかっています。 簡単に出来る方法があれば教えてください。 1.EXCELのファイル名と画像のファイル名は同じです。 2.画像を貼り付けたいセルは結合しています。 3.EXCELのシートはセルの値が違うだけで構成というか配置は同じです。 よろしくお願いします。

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

  • ベストアンサー
  • benelli
  • ベストアンサー率51% (78/152)
回答No.3

ま、何はともあれ以下の作業をやってみてください。 1.Excelを開き、Alt+F11を押す。 2.表示される画面にて、メニューの「挿入」>「標準モジュール」を選択する。 3.画面のだだっぴろい白い所にテキストが書き込めるので、以下の内容をコピーする。 '''''''''''''''''''' Const picfold = "C:\pic" '画像ファイルのあるフォルダ Const kakutyo = ".jpg" '画像ファイルの拡張子 Const TheRange = "E3" '画像ファイルを設置するセル位置 Sub AddPic() Dim PicPath Dim ObjFS Set ObjFS = CreateObject("Scripting.FileSystemObject") PicPath = picfold & "\" & ObjFS.GetBaseName(ActiveWorkbook.Name) & ".jpg" If Not ObjFS.FileExists(PicPath) Then MsgBox PicPath & "は見つかりませんでした。" Set ObjFS = Nothing Exit Sub End If ActiveWorkbook.ActiveSheet.Range(TheRange).Select ActiveWorkbook.ActiveSheet.Pictures.Insert (PicPath) Set ObjFS = Nothing End Sub '''''''''''''''''''' 4."C:\pic"を画像ファイルの置いてあるフォルダのパスに変更する。 ".jpg"を画像ファイルの拡張子に変更する。 "E3"を画像ファイルを挿入するセル座標に変更する。 5.Ctrl+Sを押す。ファイル保存画面が表示されるので、「PicAddMacro.xls」という名で保存する。(保存場所は自由) 保存後、Excelを終了させる。 6.作成保存した「PicAddMacro.xls」を開き、マクロを有効にするを選択する。(セキュリティ設定によっては有効にできないかも) ファイルを開いた後、Alt+F8を押す。 7.マクロ画面にて「AddPic」の文字を一回クリックし、「オプション」ボタンを押す。 ショートカットキーの部分に"q"を入力し、「OK」ボタンを押し、マクロ画面を右上のばってんで閉じる。 8.Ctrl+Sを押し、上書き保存する。 9.「PicAddMacro.xls」を閉じずに、画像を挿入したいExcelファイルを開く。 10.以後、画像を挿入したいExcelファイルを開いた状態、かつ「PicAddMacro.xls」も開いた状態でCtrl+qを押すと、自動的に画像ファイルが挿入されるようになる。 もし「~~~は見つかりませんでした。」というメッセージが表示された場合、画像ファイルの有無、および各ファイル名が正しいかチェックする。 - - - - - - - - - - - ひとまず出来るだけ簡単に書きましたが、No2の方の言うとおりあいまいな部分や再現できないがありますので、その部分は省略しました。 あとはいろいろ調べて勉強したり試してみたりとやって見てください。

2003tenn
質問者

お礼

回答ありがとうございます。 情報が足りなくてすみませんでした。 そんな状態にも関わらず、ありがとうございました。 取り急ぎお礼まで これから、やってみます

その他の回答 (2)

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

人間がやるのが面倒だというのでしょう。だったら計数の計算なら関数式を工夫して、打つ手もあるのですが、画像は関数では全く対象外です。 ですから、VBAでやらせるほかありません。 VBAの経験ありますか。 1つならマクロの記録で取れますが、2つめ、3つめ・・の画像では 変えなければならないところが必ずあるはずです。 課題の丸投げの上、その変えるための情報が書かれていません。 1シート1画像張り付けですか? >1シートのEXCELのデータが300件あります 300シートがあり、300画像を1シートに1つ貼り付けるのでしょうか。 >1.EXCELのファイル名と画像のファイル名は同じです。 連番が振ってあるのですか?どのシートにどの画像を貼り付けるのか?どういうルールになってますか。画像のあるフォルダは1つか? 結合セルの上左隅のセル番地と結合セル数は? 結局VBAを組むためには情報が不足してます。

2003tenn
質問者

補足

すみませんでした。 1ファイル1シートのEXCELのデータが300個と 同じ名前のbmpのデータが300個あります。 保存場所は変更出来ます。 現在は、BMPはBMPフォルダに300ファイル、 EXCELはDATAフォルダに300ファイル保存しています。 ファイル名は半角数字と"-"を使用しています。 例えば『1234-123.xls』で、連番ではありません。 文字数は"-"の前は4桁は固定ですが"-"の後ろは1桁から4桁まであります。 画像の貼り付けは 例えば『1234-123.xls』ファイルのシートには A28~N28まで14セルを結合しているセルに 『1234-123.bmp』画像を挿入したいです。 あと、どのような情報が必要ですか? よろしくお願いします。

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.1

文面からは、マクロを使った貼り付けをご希望のような気がしますが、・・・ 「挿入」→「図」→「ファイルから」で画像挿入した後、「Alt」キーを押しながら、所定の位置近くまでドラッグすると、画像の点線の輪郭線が、枠線に吸い付かれるように枠線に重なります。その位置で画像をドロップすると、枠線にピッタリ貼り付けされます。 ご参考まで。

2003tenn
質問者

お礼

回答ありがとうございます。 希望は、マクロもしくわVBAで一括で出来たら嬉しいと思っています。 教えていた方法を知りませんでした。 1枚ずつやる作業の時には参考にさせていただきます。 ありがとうございました。

関連するQ&A

  • エクセルでの画像挿入

    エクセル(2003)で画像を挿入した際に その画像の右のセルにファイル名も入れたいのですが このようなマクロがあれば教えていただきたいです それと上記のとは別に画像にポインタを会わせた時に ファイル名をその場かもしくは どこかに表示させることは可能ですか? それと既に挿入してしまった画像のファイル名を知ることは可能ですか? あまりマクロには詳しくないので 分かりやすいとありがたいです

  • Excelの行挿入で

    Excelのシートにデータがつまっているのですが(これから新しく表を作るということではないということです。)、行の挿入をしたいのです。 このとき、行を選択して、右クリックで「挿入」を選べば挿入自体はできます。 しかし、 既にある表は、行が、A列とB列が結合されているのですが、 単に上記のように挿入すると、 A列B列が分かれている行が挿入されてしまいます。 新しく挿入された行のA列とB列を選択して、「セルの書式設定」の「配置」でセルを結合させてもいいのですが、 いちいちそうしなくても 挿入時点ですでに結合されているようにするにはどうすればよいですか。 (Excel2000)

  • エクセル2007での図の挿入

    エクセル2007で作業をしています。 結合したセルの中に図(JPEG)を挿入したいのですが、結合したセルの中央に簡単に配置する方法はあるでしょうか? 左寄せ・右寄せは、枠に合わせればできるのですが、結合したセルの中央に合わせるのは大変で困っています。 ワードだと簡単に行の中央にできるのですが、エクセルでも同じようにできませんか? 図ツールの書式に「配置」と言う項目がありますが、これは使えませんでした。図のグループ化はしていません。 よろしくお願いします。

  • Excelに画像挿入

    いつもお世話になっています。 <環境> Red Hat Enterprise Linux ES v.4 PHP 4.4.2(cli) PEARのSpreadsheet_Excel_Writerを使ってExcelの操作をしています。 画像を挿入したいのですが エラーのなってしまって、困っています。 どなたかご教授お願いいたします。 $logo = '/home/ユーザ名/public_html/img/logo.bmp'; // 新規ワークブック作成 $WorkBook = new Spreadsheet_Excel_Writer($BookName); // 新規ワークシート作成 $WorkSheet =& $WorkBook->addWorksheet("sheet1"); // 一応パーミッションの変更もしてみた chmod($BookName, 0777); // 画像挿入 $WorkSheet->insertBitmap(1, 6, $logo); 出来上がった、Excelファイルを見てみると /home/ユーザ名/public_html/img/logo.bmp doesn't appear to be a valid bitmap image. となっていて、画像の挿入ができていません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • EXCEL 名前付け

    Excel超初心者です。 Excelで、名前をつけたセルの値が取り方が分かりません。 シート名.Cells(11,1) →値が取れます シート名.Cells(\"DATA\") →型が一致しません とエラーになってしまいます。 名前を付けたセルから値を取る方法を教えて頂けないでしょうか? よろしくお願いします。

  • Excelへの画像の挿入について

    仕事で、自社Webサイトで使用している全画像をExcelで管理することになりました。 最初は単純に「挿入>図>ファイルから」で1つ1つ入れていけばと考えていたのですが、いざ始めてみると大変効率が悪く、どうにか作業を単純化できないものかと考えています。 VBAでできるのではないか、と思ったのですが、VBAはこれまで使ったことがなく、できるのかできないのかすら分かりません。 最終的には、 ・ある画像フォルダに含まれる全画像から、ファイル名と画像データを取得する。 ・A列をファイル名、B列を画像とし、1行に1画像を配置する。 ・画像が隠れてしまわないよう、それぞれの行の高さを調整する。 ということがしたいのですが、VBAでどこまでできそうか、またVBAに関する解説サイトなどを教えていただけたらと思います。 (VBとVBAの違いも分かっていませんが、VBなら昔やったことがあります。) どうぞよろしくお願いいたします。

  • セルの値をファイル名として習得したい

    Excel2000でセルの値をファイル名として習得したい Excel2000でVBA SaveAsメッソドを使用しファイルを保存しようと考えております。 この際ファイル名をセルの値より取りたいと考えております。 どのようにすればよいかお教えください。 セルの値は関数CONCATENATEを使用しいくつかの文字を結合したものです。

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

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

  • Excel 2007で、挿入した画像も並べ替えの対象にしたいです。

    Excel 2007で、挿入した画像も並べ替えの対象にしたいです。 例えば、A列からC列までを使って、Aには商品名、Bには価格、Cにはその商品の画像を配置した場合のことです。 画像を挿入すると、セルの上にのっかっているような状態で、セルとは無関係になってしまいます。 このまま商品を価格順に「並べ替え」をしても、画像はセルの中に入っていないので、画像はついてきません。 Wordの表だと、「行内」にすればセルの中に画像が入り込んでくれるのですが、同様のことはExcelでできますでしょうか? 図のプロパティで「セルに合わせて移動する」にチェックを入れても、並べ替えできませんでした。

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

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

専門家に質問してみよう