• ベストアンサー

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

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

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

  • ベストアンサー
  • f272
  • ベストアンサー率46% (7994/17083)
回答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

  • エクセル・マクロ(VBA)で、指定範囲を保存したい。

    エクセルマクロ(VBA)で、セル範囲を指定してその指定した部分だけをファイルに保存したいのですが、どのようにしたらよろしいのでしょうか?

  • Excel2007のVBAで、セル範囲を指定し

    Excel2007のVBAで、セル範囲を指定して画像として保存したいです。 たとえば、 Worksheets("Sheet1").Range("A1:B10").CopyPicture xlScreen, xlBitmap Worksheets("Sheet2").Paste とすれば、別のシートに指定した範囲を画像にすることはでき、 さらにこれを、 With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, "C:\test.html", _ "Sheet2", "", xlHtmlStatic, "image", "") .Publish (True) .AutoRepublish = False End With とすれば、画像を指定した場所に保存することはできると思います。 ただ、これだと無駄な処理をしているような気がしますし、実際時間も数秒必要です。 これが、グラフだと Worksheets("Sheet1").ChartObjects("グラフ1").Chart.Export Filename:="C:\graph.gif", FilterName:="gif" のように簡単に、しかも短時間で出来ます。 できれば、上記グラフのように、指定したSheetの指定したセル範囲を画像として指定した場所にPNGにて保存したいです。 どなたかご教授いただければ幸いです。

  • エクセル指定範囲画像保存

    win7 エクセル2013利用 デスクトップにAフォルダ作成→そのなかにB.xlsm作成 シート1、シート2がありシート2の指定範囲をjpgかpngで保存したい。(Aフォルダ\画像フォルダ 内) 繰り返し保存したいので、上書の警告などなく自動的に同じデータ名で上書してほしい。1.pngとかの名前。 範囲は広め(例A1:J40)です。 別ページで同じようなものがあったのですが、シート全て保存されてしまいます。 シート2だけに変更したかったのですが、知識不足でできなかったです。 申し訳ございませんがよろしくお願いします。 参考資料 Sub JPG_SAVE() Dim ws As Worksheet, r As Range, ch As Chart On Error Resume Next For Each ws In ThisWorkbook.Worksheets Set r = ws.Range("A1:M30") r.CopyPicture Appearance:=xlScreen, Format:=xlPicture Set ch = ws.ChartObjects.Add(0, 0, r.Width, r.Height).Chart ch.Paste ch.Export Filename:=ThisWorkbook.Path & "\" & ws.Index & ".jpg", filtername:="JPG" ch.Parent.Delete Next ws End Sub

  • EXCEL VBA で指定した範囲に入力があるかどうか?

    こんばんは!! EXCEL VBAを使い出して、初日からつまずいてます・・・。 みなさん、アドバイスよろしくお願いします!! で、早速、質問なんですけど、 指定したセル範囲のいずれかに入力があるか調べたいんですけど、それができるプロパティとかってあるんでしょうか? 地道にセル毎にチェックするしかないいんでしょうか?? たとえば、範囲をA1:H1として、その範囲内のセルに何か入力があったらTrueが返ってくるとか・・・。 もし、知ってる方がいらっしゃたら教えてください!! よろしくお願いします!!!!!

  • エクセルの指定した範囲を画像するには

    エクセル内の範囲をピクセル寸法を指定してWEB用の画像にしたいと思っています。できれば、Windows付属のものかフリーのソフトでやりたいです。 例えば、エクセルの範囲を指定してコピー→変換ソフト上に貼り付け→ピクセル寸法およびファイル形式を指定→名前をつけて保存、といった感じで作業であれば理想的です。上記より多少遠回りしてもいいので、よい方法があれば教えてください。

  • エクセル VBA 範囲指定方法

    エクセルVBA初心者です。 以下の範囲指定について教えてください。 一つの表のK列の一番下のセル(不定)を選択→Range("K65536").End(xlUp).Select その選択されたセルからA3(固定)まで範囲を選択したいのですが、不定セル:固定セル の範囲指定方法が分かりません。 よろしくお願いいたします。

  • Acrobat6で保存するPNG画像の解像度

    wordのdocファイルをpdfにしたものを画像にして利用するために、AcrobatPro6を用いてpdfファイルをページ毎にpngファイルに保存しています。 すると、同じサイズのページでもページによってピクセル数がまちまちに保存されてしまいます。 たくさんの画像をトリミングする必要があるため、できれば元のページが同じものはみな同じピクセル数の画像を生成したいのですが、良い方法はありますでしょうか。

  • 保存する際に無題.pngとなる画像について

    http://okwave.jp/qa/q7736859.htmlでも質問したのですが、質問が悪かったようでしたので、再度質問をさせていただいております。 画像を右クリックで名前を付けて保存しようとした際に、無題.pngと表示されました。 その時、pngのまま保存したもの(A)と、拡張子をjpgに変えて保存したもの(A.jpg)とではなぜかファイルのサイズ(容量?)が変わっていました。 pngで保存したものの拡張子をjpgに変更してもサイズに変化はなかったのですが、名前を付けて保存の際に拡張子jpgに変更していたものはpngの約3倍のサイズになっていたのです。 その後しばらくして、もう一度画像があったサイトを開き、同様に保存の操作を試みたところ、なぜかabcdefg.jpgといった具合に、初めの名前が~.jpgでした。 それを保存したところ、無題.pngだったのファイルの1/5ほどのサイズのjpgファイル(B)が保存されました。 そのjpgファイルの拡張子を名前を付けて保存する際にpngとして(B.png)もサイズは同じで、さらに両方とも保存したものをpngからjpgに変更してもサイズは変わりませんでした。 ちなみに、上記に出てくる同じ画像が元の、無題.jpg系も~.jpg系も画像自体は目に見えて劣化などは感じられませんでした。多分全く同じ画像が見られると思います。 初め「無題.png」だったものが、後に保存を試みた際に「~.jpg」として保存されようとしたのはなぜですか? 今回の場合はどういった理由で(A), (A.jpg), (B)・(B.png)のファイルのサイズが違ったのでしょうか? 今回の場合で拡張子を変えてもサイズが変わる場合と変わらない場合がありましたがなぜですか? URLを貼るだけでなく、初心者にもわかる説明を頂ければありがたいです。

  • EXCEL VBAでのセル高の範囲指定コピーについて

    いつも活用させて頂いております。 ExcelのVBAで、範囲指定したセルのコピーを行い、コピー先のセルに コピー元のセルの高さをコピーさせるロジックを組みました。 始めは、範囲指定してセル高もコピーしようとしたのですが、 上手く行かなかったので、現在は、ループさせて1行ずつ行っています。 できれば、範囲指定して一括で行いたいのですが、 そのような事は可能なのでしょうか? ご教授願います。

  • エクセルVBAで複数のセル入力からそれぞれの画像を指定したセルに貼り付け

    複数のセル入力時のたびに自動実行されるイベントマクロを使い、それぞれの入力値と同じ画像を決まったセルに貼り付けようとするVBAをつくろうとしています。 画像サイズ加工(サイズ調整、トリミング)は同じものとします。 更に、画像がないセルに関しては、画像が挿入されるそれぞれのセルに ”画像登録がありません”と表示される。 入力セル=B3:B10 画像挿入セル=F2,F9,F16,F23,F30,F37,F44,F51 できれば、勉強の為に’コメント説明付のご回答をお願いします。

専門家に質問してみよう