大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、雛型を使って取引先ごとに別シートに転記する方法について、ご紹介します。手順としては、Dictionaryを使って取引先リストを作成して、雛型にデータを転記したあと、Copyで別シーにコピーするという感じです。別シートに転記する方法について、マスターしていきましょう。

はじめに

この記事では、雛型を使って取引先ごとに別シート転記する方法について、ご紹介します。

手順としては、雛型にデータを転記して、雛型のシートをコピーするという感じになります。

取引先の数だけループして、シートをコピーすることで複数シートにデータを転記できます。

取引先のリストを、作成するには「Dictionary」を使って、重複しないリストを作成します。

雛型を使って、別シートに転記する方法について、マスターしていきましょう。

では、雛型を使って取引先ごとに別シート転記する方法について、解説していきます。

本記事の内容を動画にて解説しております

VBAコードの作成手順について、動画で確認できます。

目次から見たい項目へ移動すると便利ですよ。

目次

雛型を使って取引先ごとに別シート転記したい

やりたい内容は、雛型を使って取引先ごとに別シートに転記したい、ということになります。

やりたい内容

やりたい内容をみてみます。

雛型を使って、取引先ごとに別シート転記したい

雛型を使って、取引先ごとに別シート転記したいです。

雛型を使って、取引先ごとに別シート転記したいです

データベースは次のようになります。

データベースは次のようになります

次のように、雛型を使って、取引先ごとに別シート転記したいです。

雛型を使って、取引先ごとに別シート転記

1つ目の取引先です。

雛型を使って、取引先ごとに転記したいです

2つ目の取引先です。

雛型を使って、取引先ごとに転記したいです

3つ目の取引先です。

雛型を使って、取引先ごとに転記したいです

という感じで、雛型を使って、取引先ごとに転記したいです。

VBAコードを作成

ひな形を使って、取引先ごとに別シートに転記する方法について、段階的に記載していきます。

雛型を作成

まずは、雛型を作成します。

雛型を作成する

雛型を作成します

雛型を作成しました。

上記の雛型を使って、取引先ごとに別シートに転記していきます。

雛型を使って1つの取引先を別シート転記

まずは、雛型を使って、1つの取引先を別シートに転記するVBAコードです。

Sub TEST1()
  
  'シートをクリア
  Sheets("ベース").Range("C3,A6:F9") = ""
  '取引先を入力
  Sheets("ベース").Range("B3") = "A"
  j = 5
  For i = 2 To Sheets("DB").Cells(Rows.Count, "A").End(xlUp).Row
    If Sheets("DB").Cells(i, "A") = "A" Then
      j = j + 1
      '商品を入力
      Sheets("ベース").Cells(j, "A") = Sheets("DB").Cells(i, "B")
      '売上を入力
      Sheets("ベース").Cells(j, "D") = Sheets("DB").Cells(i, "C")
    End If
  Next
  'シートをコピー
  Sheets("ベース").Copy after:=Sheets(Sheets.Count)
  ActiveSheet.Name = "A" 'シート名を変更
  
End Sub

実行すると、雛型を使って、1つの取引先を別シートに転記できます。

1つの取引先を別シート転記できた

雛型を使って、1つの取引先を別シートに転記できました

雛型を使って、1つの取引先を別シートに転記できました。

複数の取引先を別シート転記

次は、雛型を使って、複数の取引先を別シートに転記するVBAコードです。

Sub TEST2()
  
  Dim A
  '取引先リストを作成
  A = Array("A", "B", "C")
  
  '取引先をループ
  For k = 0 To UBound(A)
    'シートをクリア
    Sheets("ベース").Range("C3,A6:F9") = ""
    '取引先を入力
    Sheets("ベース").Range("B3") = A(k)
    j = 5
    For i = 2 To Sheets("DB").Cells(Rows.Count, "A").End(xlUp).Row
      If Sheets("DB").Cells(i, "A") = A(k) Then
        j = j + 1
        '商品を入力
        Sheets("ベース").Cells(j, "A") = Sheets("DB").Cells(i, "B")
        '売上を入力
        Sheets("ベース").Cells(j, "D") = Sheets("DB").Cells(i, "C")
      End If
    Next
    'シートをコピー
    Sheets("ベース").Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = A(k) 'シート名を変更
  Next
  
End Sub

実行すると、雛型を使って、「複数」の取引先を別シートに転記できます。

雛型を使って、取引先ごとに別シート転記

1つ目の取引先です。

雛型を使って、複数の取引先を別シートに転記できました

2つ目の取引先です。

雛型を使って、複数の取引先を別シートに転記できました

3つ目の取引先です。

雛型を使って、複数の取引先を別シートに転記できました

雛型を使って、複数の取引先を別シートに転記できました。

取引先リストを作成して別シート転記

「取引先リスト」を作成して、雛型を使って取引先ごとに別シートに転記するVBAコードです。

Sub TEST3()
  
  Dim B
  '辞書を作成
  Set B = CreateObject("Scripting.Dictionary")
  
  '辞書に取引先リストを登録
  For i = 2 To Sheets("DB").Cells(Rows.Count, "A").End(xlUp).Row
    If B.exists(Sheets("DB").Cells(i, "A").Value) = False Then
      B.Add Sheets("DB").Cells(i, "A").Value, 0
    End If
  Next
  
  Dim A
  A = B.keys '取引先リストを取得
  
  For k = 0 To UBound(A)
    'シートをクリア
    Sheets("ベース").Range("C3,A6:F9") = ""
    '取引先を入力
    Sheets("ベース").Range("B3") = A(k)
    j = 5
    For i = 2 To Sheets("DB").Cells(Rows.Count, "A").End(xlUp).Row
      If Sheets("DB").Cells(i, "A") = A(k) Then
        j = j + 1
        '商品を入力
        Sheets("ベース").Cells(j, "A") = Sheets("DB").Cells(i, "B")
        '売上を入力
        Sheets("ベース").Cells(j, "D") = Sheets("DB").Cells(i, "C")
      End If
    Next
    'シートをコピー
    Sheets("ベース").Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = A(k) 'シート名を変更
  Next
  
End Sub

実行すると、取引先リストを作成して、複数の取引先を別シートに転記できます。

取引先リストを作成して、取引先ごとに別シート転記

1つ目の取引先です。

取引先リストを作成して、複数の取引先を別シートに転記できました

2つ目の取引先です。

取引先リストを作成して、複数の取引先を別シートに転記できました

3つ目の取引先です。

取引先リストを作成して、複数の取引先を別シートに転記できました

取引先リストを作成して、複数の取引先を別シートに転記できました。

取引先を追加してみる

取引先を追加してみます。

取引先を追加してみます

追加した取引先も、自動で別シートに転記できます。

追加した取引先も、自動で別シートに転記できます

追加した取引先も、自動で別シートに転記できました。

おわりに

この記事では、雛型を使って取引先ごとに別シート転記する方法について、ご紹介しました。

手順としては、雛型にデータを転記して、雛型のシートをコピーするという感じになります。

取引先の数だけループして、シートをコピーすることで複数シートにデータを転記できます。

取引先のリストを、作成するには「Dictionary」を使って、重複しないリストを作成します。

雛型を使って、別シートに転記する方法について、マスターしていきましょう。

参考になればと思います。最後までご覧くださいましてありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す