エクセルマクロで、都道府県(住所)ごとに別シート転記するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください😉
都道府県ごとに別シート転記(パターン1)
以下のExcelVBAを実行すると、都道府県毎に別々のシートに自動転記します。
Sub 都道府県ごとに別シート転記()
Dim Data_Sht As Worksheet
Dim DicName As Variant
Dim GetName As String
Dim myKey As Variant
Dim LastRow As Long
Dim i As Long
Dim j As Long
'連想配列
Set DicName = CreateObject("Scripting.Dictionary")
'A列の最終行
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Set Data_Sht = Sheets("データ")
'重複しないリストを連想配列へ
For i = 2 To LastRow
GetName = Cells(i, 1)
If Not DicName.Exists(GetName) Then
DicName.Add GetName, GetName
End If
Next i
Application.ScreenUpdating = False
'連想配列をループ
myKey = DicName.keys
For i = 0 To UBound(DicName.items)
'新規シート作成し、シート名を入力
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = myKey(i)
'「データ」シート セルA2から最終行までループ
For j = 2 To LastRow
'フィルターでデータ抽出
Data_Sht.Range("A1").CurrentRegion.AutoFilter _
Field:=1, _
Criteria1:=myKey(i)
'フィルター抽出結果を別シートへ転記して、Forを抜ける
Data_Sht.Range("A1").CurrentRegion.Copy Sheets(myKey(i)).Range("A1")
Exit For
Next j
Next i
Application.ScreenUpdating = True
Set DicName = Nothing
End Sub
マクロ実行前
「データ」シートに、住所録があります。
A列に都道府県名を入力しておきます。
マクロ実行後
各都道府県ごとに新規シートを自動作成して、データを転記します。
都道府県ごとに別シート転記(パターン2)
以下のExcelVBAを実行すると、都道府県毎に別々のシートに自動転記します。
Sub 住所ごとに別シート抽出()
Dim Data As Worksheet
Dim i As Long
Dim RowCnt As Long
Dim LastRow As Long
Dim ShtName As String
'シートを変数代入
Set Data = Sheets("データ")
Data.Select
'「データ」 B列の最終行を取得
LastRow = Data.Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = False
'「データ」 2~最終行までループ
For i = 2 To LastRow
'A列が「OK」だったら
If Data.Cells(i, 1) = "OK" Then
'B列「住所」取得
ShtName = Data.Cells(i, 2)
'該当シートの最終行を取得
RowCnt = Sheets(ShtName).Cells(Rows.Count, 1).End(xlUp).Row + 1
'「データ」 B~H列の値を、該当シートに貼り付け
Data.Range(Cells(i, 2), Cells(i, 8)).Copy Sheets(ShtName).Cells(RowCnt, 1)
End If
Next i
Application.ScreenUpdating = True
End Sub
マクロ実行前
「データ」シートに、住所録があります。
A列にチェック用の列があります。
B列に都道府県名を入力しておきます。
「東京都」「福岡県」「沖縄県」「宮城県」のシートをあらかじめ作成しておきます。
すべて「データ」シートと同じフォーマットです。
1行目にタイトル行を入力しておきます。
マクロ実行後
「データ」シートのA列に「OK」と入力してある行について、
「データ」シートのB~H列のデータを、各都道府県のシートに転記します。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】別シート転記を自動処理する方法まとめ
【エクセルマクロ】別シート転記(抽出)を自動化する:超便利20選
...
「シンプルで一生使える現場直結のワザ大全 ExcelVBA 最高の教科書」
最強のワザ大全がついに登場!
全方位から「本気のVBA」を解説しています
リンク