【EXCEL VBA】セル範囲を図として貼り付け「CopyPicture」時短テク

スポンサーリンク

Excelで作った資料の一部を画像として抜粋して使いたい場面ってありませんか?

私自身、報告書やメールの添付用に、決まった表の部分を「図」として貼り付けることがよくありました。

エクセル操作自体は簡単なんですが、忙しいときに限って依頼されると「またか~…」とちょっぴり面倒に感じることも・・・。

そこで、VBAの勉強がてら「この作業、もっと楽にできないかな?」と自動化に挑戦してみました!

書籍を中心にVBAを学んでいる途中なので、もっと良い方法があるかもしれませんが… 自分の備忘録も兼ねて、参考になれば嬉しいです!

 

関連 【EXCEL VBA】outlookメール作成。to,cc,bccの複数宛先セルの設定方法

 

【EXCEL VBA】セル範囲を図として貼り付け「CopyPicture」時短テク

 

<目的>

いつものエクセルの決まった表の部分を画像(図)として貼り付けたい。

今回は例として赤枠の部分を画像(図)としたい部分です。

※赤枠の範囲は自身の環境に応じて設定してみてくださいね。

 

Sub CopyCellPicture()
    Dim rng As Range
    Dim ws As Worksheet

    Set ws = ActiveSheet
    Set rng = ws.Range("A14:H27") '←図として貼り付けたい範囲を設定する

    ' 画像としてコピー
    rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture

    ' 貼り付け
    ws.Paste

    '貼り付けた画像を少し移動(表に被らないように)
    With ws.Shapes(ws.Shapes.Count)  
        .Left = rng.Width + 10        
    End With
End Sub

 

コードのポイント

Set rng = ws.Range(“A14:H27”)
rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture
ws.Paste

ws.Range(“A14:H27”)で、画像(図)としたい部分を設定し、コピー貼り付けしている部分です。

次に画像(図)として貼り付けたい箇所があるなら、セル範囲の設定値を変えて実行するだけでOKなので時短につながりますよ。

 

With ws.Shapes(ws.Shapes.Count)
.Left = rng.Width + 10
End With

このコードは別になくてもいいんですけど、ない場合は、表の上に画像(図)が張り付いちゃうので被って見栄えが良くないです。(実行してみたらわかります。)

よって、元の表から少しずらした部分に画像(図)を移動しています。

Widthの代わりにHeightで設定すれば下方向に移動するので、自身の環境に合わせて設定してみてくださいね。

 

【EXCEL VBA】セル範囲を図として貼り付け「CopyPicture」時短テク

このようなわずかなコードですが、幾分時間短縮につながってます。

たった数行のコードでも、作業時間がググッと短縮されるのって…ちょっと感動しません?

今は2~3ヶ所の画像貼り付けで済んでるけど、もし「貼り付け祭り」の依頼が始まったら、For文でループさせて自動化の波に乗る計画も検討中です!

さらに別シートにまとめて出力できたら管理もしやすいだろうし…何より自分のVBAスキルも少しUPしそう!

そんな妄想をしつつ、私のVBAの独学勉強はまだまだ続きます。

これまで使う機会がなかったけど、プログラミングってまるで魔法みたいですね 。

「若い頃にもっとやっておけば…」なんて思うけど、今からでも遅くないと思ってます!

もし「ちょっとやってみようかな?」って思ったら、MOSの資格取得の勉強やプログラミングスクールの無料体験なんかも良いキッケケになるのでおすすめですよ!

気軽に試せるものも多いし、未来の自分が「やっててよかった~!」って言ってくれるかもしれませんね!

 

「Excelスキル、資格で証明しちゃおう!」
MOS対策なら、全国180校展開&合格率97.3%の「ハロー!パソコン教室」がおすすめ!
オンラインで好きな時間に学べて、初心者でも安心のわかりやすさ。
映像+テキスト+練習問題で、合格力が自然と身につく実践型カリキュラム!しかも、2万円前後の低価格でしっかり学べるからコスパも抜群✨
「Excel365スペシャリスト」対策講座なら税込19,010円

気になる方は、まずは講座内容をチェックしてみてね👇
\ MOS対策講座はこちら /

プログラミングも資格対策も通わず学べるオンライン教室【ハロー!パソコン教室】

 

関連 【EXCEL VBA】outlookメール作成。to,cc,bccの複数宛先セルの設定方法

【EXCEL VBA】outlookメール作成。to,cc,bccの複数宛先セルの設定方法
仕事でEXCELを使う方は多いと思います。 毎日似たようなデータ更新があって、チェック後に関係部署へ添付資料を付けてメール送信・・。 私にも同じような定型業務があります。 最後にメールを送信する際にたまに宛先アドレ...

関連 【MOS Access資格】難易度や勉強時間は?独学で受かる勉強方法など

【MOS Access資格】難易度や勉強時間は?独学で受かる勉強方法など
ゆるっと資格取得を楽しんでいる私ですが、今回は仕事にも直結したMOS Access資格についてのエピソードを紹介します。 業務でAccessを使う機会が少しずつ増えてきたこともあり、「ちゃんと基礎から学び直してみようかな」と思...

関連 【独学】オラクルマスターブロンズはいらない?再受験無料期間や難易度・勉強時間など

【独学】オラクルマスターブロンズはいらない?再受験無料期間や難易度・勉強時間など
オラクルマスターブロンズ(ORACLE MASTER BRONZE)の資格を受けました。 就職や転職などがきっかけで、新しいコトを目指すことになった!という人も多いのではないでしょうか。 私はこれまではオラクル(ORAC...

関連 【独学で合格】ウェブデザイン技能検定2級(国家資格)は意味ない?就職や転職の反応は?

【独学で合格】ウェブデザイン技能検定2級(国家資格)は意味ない?就職や転職の反応は?
趣味と副業のブログ運営でウェブ関連の知識を深めている私。 今回は「ウェブデザイン技能士」という国家資格にチャレンジしてみました。 ウェブデザイン技能検定とは、国家検定制度である技能検定制度のひとつで、Web業界に関する資...

 

タイトルとURLをコピーしました