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では、Rangeオブジェクトと配列を使用して、
指定した範囲のセルに配列の値を一括で入力できます

以下に、基本的なステップを紹介します。

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

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

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

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

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

例として、2×2の配列データをセル範囲”A1:B2″に
入力するマクロを以下に示します。

Sub InputArrayIntoRange()
    ' 配列データを定義します。
    Dim dataArray As Variant
    dataArray = Array(Array("値1", "値2"), Array("値3", "値4"))
    
    ' 配列データをセル範囲に入力します。
    Range("A1:B2").Value = dataArray
End Sub

このコードでは、配列を定義し、Rangeオブジェクトの
Valueプロパティを使って、指定した範囲の
セルに配列の値を一括で入力しています。

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

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

実行後、指定した範囲のセルに配列の値が
一括で入力されていることがわかります。

マクロの説明

  • Sub InputArrayIntoRange():
    特定のセル範囲に配列の値を一括で入力するための
    新しいマクロを定義しています。
  • Dim dataArray As Variant:
    配列を格納するための変数を宣言しています。
  • dataArray = Array(Array("値1", "値2"), Array("値3", "値4")):
    2×2の配列データを定義しています。
  • Range("A1:B2").Value = dataArray:
    指定した範囲のセルに配列の値を一括で入力します。

注意点

  • 配列のサイズと範囲のサイズ:
    入力する配列のサイズが、指定するセル範囲のサイズと
    一致していることを確認してください。
  • データの型:
    配列に入力するデータの型が、セルに入力する
    データ型と一致しているかを確認してください。

まとめ

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代会社員