• ベストアンサー

エクセルVBA 画像あり範囲を指定してPNG保存

利用環境 win7 エクセル2013 お世話になっております。 シート2の範囲A1:T11の範囲をVBAで画像保存したいです。 範囲はセルを調整して1920x1080ピクセルにしております。 範囲内に5枚ほどの画像を挿入しております。 表示そのまま画像保存できますでしょうか。 こちらの保存したい画像は一定時間ごとに上書き保存していきますので、「上書きの警告」もなしで即上書きしたいです。 保存先は毎回同じ「C:\保存先フォルダ」 ファイル名はA.png どうかご教示ください。 よろしくお願いいたします。

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8532/18263)
回答No.1

こんなのでどうですか? Sub SAVEA1T11() Dim rg As Range Dim cht As Chart Set rg = Range("A1:T11") rg.CopyPicture appearance:=xlScreen, Format:=xlPicture Set cht = ActiveSheet.ChartObjects.Add(0, 0, rg.Width, rg.Height).Chart cht.Paste cht.Export Filename:="C:\保存先フォルダ\A.PNG", filtername:="PNG" cht.Parent.Delete End Sub

jesper
質問者

お礼

以下の内容でできました。 合っているのかは不安ですがこちらで試させていただきます。 本当にありがとうございました!! Set rg = Range("A1:T11") ↓ Set rg = Worksheets(2).Range("A1:T11")

jesper
質問者

補足

ご回答ありがとうございます! 早速試させていただきました。 無事pngで保存はされた。 ありがとうございました。一発解決です!! シート1にマクロボタンを設置して、シート2の画像保存する場合、どのように変更すればよろしいでしょうか 最後にそこだけお願いいたします! (ほか2台のPCで試してみたところ画像を開くと真っ白でした。なんでだろ)

関連するQ&A

専門家に質問してみよう