【VBA】データ探索⇒コピー⇒シート移動⇒貼り付け!一連の流れを解説!

f:id:yshgs_elec:20201111213414j:plain

「まとめられたデータから必要な部分だけをコピーし、別のシートに張り付けたい。」

データ収集などの仕事を行っていると、このような状況によく出くわすのではないでしょうか?

 

この記事では、エクセルVBAを用いて、

データ探索⇒データコピー⇒シートを移動⇒所定の場所にコピーしたデータを張り付ける

という一連の作業を行う方法についてご紹介します。

 

日々の業務のなかで、これらを手作業で行っている人にとっては、参考になる内容だと思います。

 

実際の業務をイメージした例題を用い、画像つきで分かりやすく説明していきます。

是非最後までご覧ください。

 

そのまえに・・・

※VBAってなに?というは、

以下の記事を参考に、VBAが使える環境を整えておきましょう。

www.higashisalary.com

 

スポンサーリンク

例題内容説明

まずはじめに今回用いる例題を確認しておきましょう。

 

今回は商品名と値段が書かれているシートから、目的の商品を探し出し、その商品の値段を別のシートにコピーする、という一連の流れを行ってみようと思います。

 

私が準備したのはこんな感じです。

Sheet1に商品と値段が記載されています。

商品名と値段が書いてあるエクセルシート

Sheet2はこんな感じです。

値段の知りたい商品名が書かれているエクセルシート

このSheet2に記載されている商品の値段をSheet1から探しだし、Sheet2にコピーしてきます。

Sheet1に書いてある商品Eの値段は253なので最終的にSheet2のB2セルに253と記入されれば成功です。

 

スポンサーリンク

マクロの記述

それでは早速マクロを記述していきましょう!!

まずは基本的なところからです。

以下のように開発タブを選択し、左側にあるVisual Basicを選択します。

開発タブの出し方については以下のリンクを参考にしてください。

【初心者用】エクセルマクロ(VBA)の始め方を詳細解説 – ヒガサラblog

すると以下のような画面が出てきます。

マクロの記述方法を解説している様子

 

新しく出てきたWindowの左側にある以下のボタンをクリックします。
その後標準モジュールを選択します。

マクロの記述方法を解説している様子

 

そうするとマクロを記述できるようになりますので、以下のようにマクロを記述します。

Sub データ探索()
    '変数の型を宣言
    Dim shohin As String
    Dim nedan As Variant
    Dim i As Integer
    'Sheet2にいる状態からスタートする
    Sheets("Sheet2").Select
    Print '商品名をマクロに記録する
    shohin = Cells(2, 1)
    'Sheet1から商品名を探す
    Sheets("Sheet1").Select
    i = 0
    Do Until Cells(2 + i, 1) = shohin
        i = i + 1
    Loop
    '探した商品の値段をマクロに記録する
    nedan = Cells(2 + i, 2)
    'Sheet2に戻って記入する
    Sheets("Sheet2").Select
    Cells(2, 2) = nedan
End Sub

 

参考までに実際の処理の流れについても記載しておきましょう。

1.Sheet2に記載されている探したい商品名を覚えさせる
2.Sheet1に移動する
3.探したい商品名をDo loop を使って探す
4.商品の値段を覚えさせる
5.Sheet2に移動する
6.商品の値段を記入する

 

スポンサーリンク

マクロの実行

記入が終わったらあとは以下の要領でマクロを実行するだけです!!

マクロの実行方法を解説している様子

「いざ、実行!!」 

 

スポンサーリンク

結果確認

以下が実行結果です。

きちんとB2セルには253と記入されていますね。

 

A2セルを変更しても、きちんと対応した値段を探してきてくれますので、実際に変更し、確認してみてください。

マクロの実行結果を確認

スポンサーリンク

おわりに

というわけで今回は、データ処理などに便利な、シート間でデータをやりとりする方法についてご紹介しました。

 

ぜひこのスキルをマスターし、日々の業務を効率化していきましょう。

 

このブログでは、VBAはもちろんその他のプログラミングスキルについても幅広くスキル紹介を行っています。

興味のある方は是非、他の記事も読んでみてくださいね。

過去記事一覧

 

また、このブログはブログランキングに参加しています。

応援してくれる人は、下のボタンをポチってもらえると嬉しいです!

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

以上です。それではまた!

コメント

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