VBA(マクロ) PR

Excel VBA(マクロ)「別のブックのセルの値を表示する方法」について超簡単解説!超初心者でもできるマクロ!

記事内に商品プロモーションを含む場合があります
[quads id=1]

はじめに

Excelは、データ管理や分析のための強力なツールとして、
世界中で広く使用されています。しかし、
複数のブック間でデータを参照したいとき、
手動で行うと時間がかかり、エラーが発生しやすくなります。
ここで役立つのがExcel VBA(Visual Basic for Applications)です。
今回は、Excel VBAを使って
別のブックのセルの値を表示する方法について、解説します。

初心者でも理解できる様に
簡単に解説します!

Excel VBAとは?

Excel VBAは、Excelの機能を拡張するためのプログラミング言語です。
VBAを使用することで、繰り返し行う作業を自動化したり、
複雑な計算を簡単に実行したり、カスタム関数を作成したりできます。
VBAを学ぶことで、作業の効率が大幅にアップします。

別のブックのセルの値を表示する方法

Excel VBAでは、Workbookオブジェクトと
Worksheetオブジェクトを使用して、
現在開いているブックとは異なるブックのセルの値を取得し、
表示することができます。以下は、基本的なステップです。

ステップ1: VBAエディタを開く

  1. Excelを開き、「開発」タブをクリックします。
  2. 「Visual Basic」アイコンをクリックしてVBAエディタを開きます。

ステップ2: 新しいマクロを作成

  1. VBAエディタで、「挿入」メニューから「モジュール」を選択します。
  2. 新しいモジュールウィンドウが開きます。

ステップ3: マクロを記述

ここでは、別のブックの特定のセルの値を取得し、
メッセージボックスで表示するマクロを記述します。

Sub ShowValueFromAnotherWorkbook()
    ' 別のブックのパスとファイル名を指定します。
    Dim otherWorkbookPath As String
    otherWorkbookPath = "C:\Path\To\Your\OtherWorkbook.xlsx"
    
    ' 別のブックを開きます(開いていない場合)。
    Dim otherWorkbook As Workbook
    Set otherWorkbook = Workbooks.Open(otherWorkbookPath)
    
    ' 別のブックの特定のシートとセルを指定します。
    Dim targetSheet As Worksheet
    Dim targetCell As Range
    Set targetSheet = otherWorkbook.Sheets("YourSheetName")
    Set targetCell = targetSheet.Range("A1")
    
    ' セルの値をメッセージボックスで表示します。
    MsgBox "The value in " & otherWorkbook.Name & "!" & targetCell.Address & " is: " & targetCell.Value
    
    ' 別のブックを閉じます(必要に応じて保存)。
    otherWorkbook.Close SaveChanges:=False
End Sub

このコードでは、Workbook.Openメソッドを使用して
別のブックを開き、Workbook.SheetsWorksheet.Range
使用して特定のセルを指定し、MsgBox関数でセルの値を表示しています。

ステップ4: マクロを実行

  1. VBAエディタで「実行」メニューをクリックし、
    「サブルーチンの実行」を選択します。
  2. 「ShowValueFromAnotherWorkbook」という
    名前のマクロを選択し、「実行」ボタンをクリックします。

実行後、指定したブックの指定したセルの値が
メッセージボックスで表示されます。

マクロの説明

  • Sub ShowValueFromAnotherWorkbook():
    新しいマクロを定義しています。
  • Dim otherWorkbookPath As String:
    別のブックのパスを格納するための変数を宣言しています。
  • Set otherWorkbook = Workbooks.Open(otherWorkbookPath):
    別のブックを開きます。
  • Set targetSheet = otherWorkbook.Sheets("YourSheetName"):
    対象のシートを指定します。
  • Set targetCell = targetSheet.Range("A1"):
    対象のセルを指定します。
  • MsgBox "The value...: メッセージボックスでセルの値を表示します。
  • otherWorkbook.Close SaveChanges:=False:
    別のブックを閉じます(変更を保存しない場合)。

注意点

  • ファイルパスの確認:
    別のブックのパスが正しいかを確認してください。
  • ブックの開閉管理:
    ブックを開いたら、不要になったら閉じることを忘れないでください。
    不要なブックが開きっぱなしになると、リソースを消費し、
    エラーの原因になることがあります。

まとめ

Excel VBAで別のブックのセルの値を表示する方法は、
データの操作や分析において非常に便利です

この記事で紹介した基本的な方法を理解し、
実際に試してみることで、あなたのExcel VBAスキルは大きく向上します。
プログラミングは実践が重要ですので、
学んだことを積極的に自分のプロジェクトに取り入れてみましょう。

これからも一緒に学んでいきましょう!

【お使いのパソコンにExcelをインストールする】

マイクロソフト Microsoft 365 Personal
マイクロソフト Excel 2021

【オススメExcel書籍はこちらから購入可能!】

created by Rinker
¥1,738 (2026/02/09 22:59:58時点 楽天市場調べ-詳細)

この記事を書いている人

◉てるパパ(telpapa)
本業でExcelを駆使して業務改善を行う
30代会社員