VBAでシート間のデータ転記を自動化する方法

Visual Basic

VBAを使ってExcelのシート間でデータを転記する方法について解説します。例えば、シート1のA列に入力されているデータを、指定の範囲ごとにシート2、シート3に転記したい場合、VBAを利用することで自動化することができます。

1. 問題の背景

質問者が求めているのは、シート1のA列に入力されたデータを10行ずつシート2、シート3に転記する方法です。VBAを使えば、この作業を繰り返し簡単に行うことができます。

2. VBAコードの概要

VBAを使ってシート1からシート2、シート3にデータを転記する基本的なコードを紹介します。このコードは、A列のデータを10行ずつ区切り、それぞれシート2、シート3に転記します。

Sub CopyDataToMultipleSheets() 
 Dim i As Integer 
 Dim lastRow As Long 
 lastRow = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row 
 For i = 1 To lastRow Step 10 
 Sheets("Sheet1").Range("A" & i & ":A" & i + 9).Copy 
 If i <= 10 Then 
 Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValues 
 ElseIf i > 10 And i <= 20 Then 
 Sheets("Sheet3").Range("A1").PasteSpecial Paste:=xlPasteValues 
 End If 
 Next i 
 End Sub

このコードでは、シート1のA列を10行ごとにシート2とシート3に転記する処理を実行します。

3. コードの詳細説明

このVBAコードは以下のステップで動作します。

  • 最初にシート1のA列の最終行を取得します。
  • 次に、A列を10行ごとに区切ってコピーします。
  • 10行ごとに、シート2またはシート3にデータを転記します。

この方法を使用することで、手動での転記作業を省力化し、効率的にデータを管理できます。

4. コードを実行する方法

VBAコードを実行する方法は次の通りです。

  1. Excelを開き、「Alt + F11」でVBAエディターを開きます。
  2. 「挿入」>「モジュール」を選択し、コードを貼り付けます。
  3. コードを貼り付けた後、「F5」キーを押して実行します。

これで、シート1のデータがシート2とシート3に自動的に転記されます。

5. まとめ

VBAを使うことで、Excelのシート間でデータを効率的に転記することができます。上記のコードを参考にして、自分の作業に合わせてカスタマイズしてみてください。VBAはExcelでの作業を自動化し、時間を大幅に短縮できる強力なツールです。

コメント

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