【Excel VBA】元のデータを自動反映する「リンクされた図」としてセル範囲を貼り付ける方法

Excelでダッシュボードやレポートを作成する際、「別シートにある表やグラフを、見栄え良く貼り付けたい。しかも、元のデータが変更されたら、貼り付けた内容も自動で更新されてほしい」という高度なニーズがあります。

これを実現するのが、Excelの強力な機能**「リンクされた図」**です。VBAを使えば、この「リンクされた図」の貼り付けも自動化できます。

この記事では、指定したセル範囲をコピーし、元のデータへのリンクを持つ画像として貼り付けるための、VBAコードを解説します。


目次

完成したVBAコード

以下が、「SourceData」シートのB2:E10の範囲をコピーし、「Dashboard」シートのC3セルに「リンクされた図」として貼り付けるVBAコードです。

Sub PasteRangeAsLinkedPicture()

    ' 変数を宣言します
    Dim sourceRange As Range
    Dim pasteCell As Range
    
    '--- 設定 ---
    ' コピー元のセル範囲
    Set sourceRange = ThisWorkbook.Worksheets("SourceData").Range("B2:E10")
    ' 貼り付け先の起点となるセル
    Set pasteCell = ThisWorkbook.Worksheets("Dashboard").Range("C3")
    '--- 設定ここまで ---
    
    Application.ScreenUpdating = False
    
    ' --- 1. コピー元の範囲を通常通りコピー ---
    sourceRange.Copy
    
    ' --- 2. 貼り付け先のシートとセルをアクティブにする ---
    pasteCell.Parent.Activate
    pasteCell.Select
    
    ' --- 3.「リンクされた図」として貼り付け ---
    ' Pictures.PasteメソッドのLink引数をTrueに設定します
    ActiveSheet.Pictures.Paste Link:=True
    
    ' (任意) 貼り付けた図形の名前などを設定
    ' With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
    '     .Name = "LinkedReportTable"
    ' End With

    Application.ScreenUpdating = True
    
    MsgBox "セル範囲を「リンクされた図」として貼り付けました。"

End Sub

コードのポイント解説

① 通常のコピー .Copy

sourceRange.Copy

処理の始まりは、通常のセル範囲のコピーです。対象となるRangeオブジェクトの.Copyメソッドを実行し、範囲の情報をクリップボードに送ります。

② リンクされた図として貼り付け: .Pictures.Paste(Link:=True)

ActiveSheet.Pictures.Paste Link:=True

ここが、このテクニックの核心部分です。 ActiveSheet.Pictures.Pasteは、クリップボードの中身を図(画像)として貼り付けるメソッドですが、オプションの引数である**LinkTrueに設定**することで、ただの画像ではなく、コピー元のセル範囲への「リンク」情報を持った特殊な図として貼り付けられます。

「リンクされた図」の動作

このマクロを実行して図を貼り付けた後、コピー元のSourceDataシートに戻って、B2:E10の範囲内のセルの値や書式(色など)を変更してみてください。

その後、Dashboardシートを確認すると、貼り付けた図の見た目が、元のデータの変更に追随して自動的に更新されているのが分かります。

この機能により、データの管理はデータシートで行い、レポートのレイアウトはダッシュボードシートで行う、という役割分担が明確になり、メンテナンス性の高いファイルを作成できます。


まとめ

元のデータを自動的に反映する「リンクされた図」をVBAで作成する手順は、以下の通りです。

  1. コピー元のRangeオブジェクトに対し、通常の**.Copy**メソッドを実行する。
  2. 貼り付け先のセルを選択する。
  3. ActiveSheet.Pictures.Paste Link:=True を実行する。

このLink:=Trueという引数一つで、静的な画像ではなく、動的な「ライブオブジェクト」をシート上に配置できます。見栄えが良く、かつ常に最新の状態が保たれるダッシュボードやレポートの作成に、非常に役立つテクニックです。

副業から独立まで「稼げる」Webスキルを習得する(PR)

ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。

「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。

このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。

講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。

副業に特化した強み

  • 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
  • AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
  • 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。

受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。

受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。

ブログで稼ぎたいなら「メイカラ」

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次