• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 画像置き換え?)

Excel画像置き換え方法

このQ&Aのポイント
  • Excel2000で複数のシートに同じ画像を頻繁に置き換えたい場合の方法を教えてください。
  • 新しい画像を古い画像と交換して同じ場所に保存する方法を教えてください。
  • Excelの動作で自動的に複数のシートの画像を更新する方法はありますか?

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

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

Sub test()   Dim x As Variant   x = Application.GetOpenFilename("gif,*.gif")   If VarType(x) = vbBoolean Then Exit Sub   With ActiveSheet.Shapes.AddPicture(x, msoTrue, msoFalse, 0, 0, 0, 0)     .ScaleHeight 1, msoTrue     .ScaleWidth 1, msoTrue   End With End Sub 上記のマクロで挿入した画像は元ファイルとのリンクを保持します。 なので1回だけ実行すれば後はマクロ不要です。 #念のため、マクロ実行方法。 [Alt]キー押しながら[F11][i][m]。 アクティブなBookに「標準モジュール」というものが追加されます。 その白背景ウィンドウ(カーソルがある位置)に 上記マクロ Sub test()~End Sub までをコピー&ペースト直後[F5]キー、で実行です。 画像挿入後、必要であればサイズなどを適宜修正し、 必要なシートにコピーしてください。 元のファイル(例えばa.gif)を同名上書きして更新した後に Bookを開き直せばシート上の画像が更新されます。

その他の回答 (3)

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.3

添付画像では解らないので こちらに https://picasaweb.google.com/114948545177749066882/MEOSK#slideshow/5672992773250725650 左から元のaaaaa 2222ファイルのシート2  2222ファイルのシート1 bbbbファイルのシート2  bbbbファイルのシート1 シート1・2に各5画像づつ計10画像 マクロで自動的に挿入しました。

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.2

入れ替えは出来ませんでしたがマクロで自動で画像の挿入(貼り付け)は出来ました。 地味ですが1回総てのシートに画像の挿入作業を行えば次回は自動処理で行えます。 準備 ・画像のサイズを記録し画像を総て削除し仮に「aaaa」と名前を付け保存します。 ・貼り付ける専用のフォルダーを作ります。 ・専用のフォルダーに挿入する画像をコピーし貼り付けます。 ・詳細表示にして挿入する画像を上から順番に並べます。 ・画像総てを選択し一番上の画像で右クリックし「名前の変更」で仮に[a]とします。  以下の画像は[a(1)][a(2)]と一連番号がつきます。 参考URL http://www.geocities.jp/laut6/excel/excel1.html http://enjoy-pc.info/4/15/000643.html マクロの記録 ・aaaaファイルを開き「新しいマクロの記録」を行います。 ・画像を挿入しサイズを調整をくりかえします。 ・挿入が完了したらマクロの記録を終了しaaaaファイルを上書き保存します。 ・aaaaファイルを開き画像を総て削除し上書き保存します。 マクロの実行 ・専用フォルダーの画像を削除し新たに挿入する画像をコピーし貼り付け ・準備で行ったと同じファイル名[a,a(1),a(2)・・・・・・]に変更します。 ・aaaaファイルを開きマクロを実行します。  (画像が自動的に挿入されます。) ・自動処理が完了したら「名前を付けて保存」で本来のファイル名前で保存します。 マクロの参考URL http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_01.html ユーザー設定でツールバーにコマンドの挿入「図をファイルから挿入」を追加しておくと挿入の作業が楽になります。 http://www.eurus.dti.ne.jp/yoneyama/Excel/mous_jyo/jyo-5.html#toolbar 注意: ・画像の専用フォルダはの保存場所を移動するとエラーが発生します。

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

操作だけでやれるかな。無理な気がする。 ーー 下記でやってみた。 Sheet1にImageコントロールを貼り付ける。(コントロールツールボックスのImage) そのコントロールに画像を貼り付ける。(プロパティのPictureで指定) 位置や大きさは都合よく決めて、他のシートに於いても、これに習い同じ位置・大きさにするものとする。 標準モジュールに Private Sub test01() Worksheets(1).OLEObjects (1) t = Worksheets(1).OLEObjects(1).Top l = Worksheets(1).OLEObjects(1).Left h = Worksheets(1).OLEObjects(1).Height w = Worksheets(1).OLEObjects(1).Width For i = 2 To 3 Worksheets(i).DrawingObjects.Delete Worksheets(1).OLEObjects(1).Copy Worksheets(i).Paste Set ig = Worksheets(i).OLEObjects(1) ig.Top = t ig.Left = l ig.Height = h ig.Width = w Next i End Sub これ実行する。 ーー Sheet2、Sheet3においてSheet1と同じ場所で同じ大きさで、同じ画像が出現するはず。 上記例では2シートに複写しているが、10シートの場合はFor i = 2 To 10になる。 === 留意事項 1シートに1ピクチュアーボックス、1画像に限る。他にコントロールがない物とする。 作る対象のシートをシートタブ的に左に10シートなりを集めておくこと。 一番左のシートを基にする。 -- この辺はVBA情報も少なく、経験・勉強不足で、もっと良いやり方があるかもしれない。 エクセルに画像を貼り付けて、何かの仕事で使うようなのは、エクセルに過ぎたニーズだと思うのだが。

関連するQ&A