VBAでデータ転記する方法とは?5つのサンプルを使って解説!


VBAでデータを転記する処理を作りたいな・・・
シンプルな方法だけでなく、いくつかのパターンを知りたい・・・

Excelのちょっとした操作を自動化したいと思ったときに作るのが、データ転記ですよね。ただ、データ転記と一口に言ってもやり方はさまざまです。自分が実現したいデータ転記の方法を調べることが難しい・・・と思っている方も多いのではないでしょうか。

こんにちは!フリーランスエンジニア兼テックライターのワキザカです。

この記事では、VBAでデータ転記処理を作る5つの方法を徹底的に解説します!

この記事はこんな人のために書きました。

  • VBAでできることについて詳しく知りたい人
  • VBAの基礎・機能・作れるツールなどを知りたい人

VBAでデータ転記する方法とは?

はじめに、VBAでデータ転記する方法について簡単に解説します。

データ転記と聞くとコピペをイメージする人もいると思いますが、Copyメソッドは使いません。値を転記する場合は、A = Bのように転記する値をイコールでつないで、処理を書きます。

これだけではイメージがしづらいと思うので、5つのサンプルを用いて具体的な使い方を解説しますね。

VBAでデータ転記する5つのサンプル

それでは、データを転記する5つのサンプルをご紹介します。


■VBAでデータ転記する5つの方法

  • 1行のデータ
  • 複数行・列のデータ
  • 連続したデータ
  • 別シートのデータ
  • 別ブックのデータ

それぞれ詳しく解説しますね。

1行のデータ

1つ目は、1行のデータを転記する方法です。

1行のデータを転記する方法は、次のとおりです。

実行前:

実行前

サンプルコード:

実行結果:

実行結果

A1セルの値をA2セルに転記しています。このように、簡単にデータ転記をすることができます。データ転記の基本なので、ぜひ実際に書いて覚えてみてくださいね。

複数行・列のデータ

2つ目は、複数行・列のデータを転記する方法です。

複数行・列のデータを転記する方法は、次のとおりです。

実行前:

実行前

サンプルコード:

実行結果:

実行結果

このように、Rangeのセル範囲を「開始セル:終了セル」のように範囲指定するだけで、指定範囲を一括で転記することができます。データを一括で転記する場合はおすすめです!

連続したデータ

3つ目は、連続したデータを転記する方法です。

連続したデータを転記する方法は、次のとおりです。

実行前:

実行前

サンプルコード:

実行結果:

実行結果

連続したデータを転記する場合は、転記元のデータの行数が変動するケースもありますよね。そのため、最大行の行番号を取得して、取得した行番号を使ってデータ転記する方法を覚えておくことがおすすめです。

ちなみに、以下で最大行の取得方法について詳しく解説しています。最大行を取得する方法の解説を見たい方は、ぜひ見てみてくださいね!

VBAで最終行を取得するには?|End(xlUp)、SpecialCells(xlLastCell)
更新日 : 2019年4月24日

別シートのデータ

4つ目は、別シートのデータを転記する方法です。

別シートのデータを転記する方法は、次のとおりです。

実行前 (Sheet1):

実行前 – Sheet1

実行前 (Sheet2):

実行前 – Sheet2

サンプルコード:

実行結果:

実行結果

このように、Rangeの前にシートを指定するだけで、シートをまたいでデータ転記をすることができます。シートを指定するときは1文が長くなってしまうため、シートを変数にセットしてから使うことがおすすめです。

別ブックのデータ

5つ目は、別ブックのデータを転記する方法です。

別ブックのデータを転記する方法は、次のとおりです。

実行前 (Test.xlsx):

実行前 – Test.xlsx

実行前 (マクロ実行ファイル):

実行前 – マクロ実行ファイル

サンプルコード:

実行結果:

実行結果

「Workbooks.Open ThisWorkbook.Path & "\Test.xlsx"」の処理で、マクロを実行しているブックと同じフォルダにある「Test.xlsx」のブックを開いています。その後、「ブック.シート.Range」でデータ転記元、転記先を指定してデータを転記しています。

このように、「ブック.シート.Range」の順で位置を指定することで、ブックをまたいでデータ転記することができます。

ちなみに、今回サンプルで使用したWorkbook.openを使って別ブックを操作する方法は、以下で詳しく解説しています。詳しく知りたい方は、以下を見てみてくださいね!

【ExcelVBA入門】ワークブック操作する方法について徹底解説!
更新日 : 2018年8月29日

VBAで書式も含めてコピペする方法

ここまで、データ転記の方法について解説してきました。

ただ、値だけでなく書式も含めてデータをコピペしたいときもありますよね。

データ転記のみの例:

データ転記のみの例

書式含めてコピペする例:

書式を含めてコピペする例

書式を含めてコピペしたいときは、Copyメソッドがおすすめです。

具体的な使い方は以下で詳しく解説しているので、ぜひ見てみてくださいね!

VBAでセル・シート・ファイルをコピー(値、書式のみも解説)
更新日 : 2019年4月21日

まとめ

今回は、VBAでデータ転記処理を作る5つの方法について、解説しました。

データ転記処理は、今回解説した方法で簡単に作ることができます。

ぜひ、自動化処理をVBAで作ってみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説