こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

利用環境
win7
エクセル2013

お世話になっております。
シート2の範囲A1:T11の範囲をVBAで画像保存したいです。
範囲はセルを調整して1920x1080ピクセルにしております。

範囲内に5枚ほどの画像を挿入しております。
表示そのまま画像保存できますでしょうか。

こちらの保存したい画像は一定時間ごとに上書き保存していきますので、「上書きの警告」もなしで即上書きしたいです。

保存先は毎回同じ「C:\保存先フォルダ」
ファイル名はA.png

どうかご教示ください。
よろしくお願いいたします。

投稿日時 - 2017-11-11 22:46:41

QNo.9396325

すぐに回答ほしいです

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

こんなのでどうですか?
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

投稿日時 - 2017-11-11 23:34:39

補足

ご回答ありがとうございます!
早速試させていただきました。

無事pngで保存はされた。
ありがとうございました。一発解決です!!
シート1にマクロボタンを設置して、シート2の画像保存する場合、どのように変更すればよろしいでしょうか
最後にそこだけお願いいたします!

(ほか2台のPCで試してみたところ画像を開くと真っ白でした。なんでだろ)

投稿日時 - 2017-11-12 00:28:56

お礼

以下の内容でできました。
合っているのかは不安ですがこちらで試させていただきます。
本当にありがとうございました!!

Set rg = Range("A1:T11")

Set rg = Worksheets(2).Range("A1:T11")

投稿日時 - 2017-11-12 13:45:09

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)