Excel
VBA
VBAマクロ
Excel VBADay 11

Excelスクリーンショットを綺麗に撮るには

例:100行のスクリーンショット、綺麗に撮れますか?

Excelで画面に収まりきらない大きな範囲のスクリーンショットが撮りたくて倍率を小さくしてWindowsのPrtScで取得したはいいものの、倍率を小さくしたために拡大しても荒い品質であり全く読めたものではない、という経験はありませんか?今回はこの解消策として「図としてコピー」をご紹介します。

“セル範囲を図としてコピーする”という機能の存在

スクリーンショット# マクロを使って選択範囲を撮影する
次のような具合になります。詳細はCを取得したいセル範囲をドラッグして選択します。例えばそれがセルA1:X500ならその範囲を選択しましょう。その後、[ホーム]-[コピー]の▽-[図としてコピー]を選択します。これだけで必要な画像がクリップボードに送られます。
この機能とWindowsのPrtScの大きな違いは、前者はモニターに表示されている画像つまりは目に見えている部分のみを扱うのに対して、後者は目に見えない部分までをも綺麗にそのままにスクリーンショットを撮ってくれる点です。Excelを用いて何かしらの成果物を業務でまとめていらっしゃる方やテストのエビデンス取得をされる際などにこれを知っているか知っていないかでかなり作成物の品質に違いが出てくると思います。(たしかあまり大きな画像を取得しようとするとメモリ上限もあったような気がしますが)まずはこの方法で画像を取得しペーストしてみてください。きっと良さがおわかりいただけると思います。

マクロを使って選択範囲を撮影する

次のような具合になります。詳細はCopyPictureメソッドで検索してみてください。

Sub KeitaKushimaCopyPicture()
         Selection.CopyPicture _
               Appearance:=xlScreen, Format:=xlPicture
         Msgbox "選択範囲を画像としてクリップボードに保存しました",,"パシャッ!"
End sub

さらにこのショートカットを好きなキーボードに割り当てしておけばいつでもワンタッチで簡単できれいな巨大画像の取得ができます。セル範囲の選択からのユーザ操作を考えるとそのまま右クリックして撮影ボタンを選択させるという方法も自然と思います。知ってしまえば大したことはない機能ではありますが、このようなことがマクロを使っても使わなくてもできるということを知っているだけでいつかきっと資料作成の役に立つ日がくると思います。ぜひともご自身の知識のひとつとしてストックいただければと思います。

(参考)巨大なスクリーンショットだけがメリットではない

この機能は巨大なスクリーンショットの撮影の他、選択したセル範囲のみをきれいに四角い形で撮影してくれるというそもそもの良さもあります。小さな範囲でも十分満足のいくであろう結果をもたらしてくれる機能です。今までWindowsのPrtScの後にアクセサリのペイントに貼り付けて修正されていた方にはぜひともご一度お試しください。その先の使い方は想像力次第で広がっていくと思います。