2006年9月 1日
【エクセル】1枚のシートから都道府県別シートをつくる。
ある表があって、都道府県が連続していたとします。都道府県別シートに分割したいなんてこと、よくありますよね。選択して、コピー、シート名の変更。これを47回繰り返さないといけません。面倒くさいですよね。
そんな作業を一発で解決できます。
*都道府県がばらばらでも、並び替え機能を使えば、簡単にソートできます。
Sub 出身別シートの作成()
Dim x As String
Dim y As Long ' xは出身列, yはコピー範囲の始まりの行を指定
Dim i, Lrow As Long
Application.ScreenUpdating = False
'行数をカウント
Lrow = Worksheets("Sheet1").Range("M65536").End(xlUp).Row
MsgBox Lrow & "件"
y = 1
'見出し行がある場合はi=2からはじめる
For i = 2 To Lrow
'出身の列がH、違う場合は変更が必要
'シート名はSheet1でなければならない、違う場合は変更が必要
x = Worksheets("Sheet1").Range("H" & i).Value
If x <> Worksheets("Sheet1").Range("H" & i + 1).Value Then
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = x & "分"
'コピー範囲を指定。A列からU列。違う場合は変更が必要
Worksheets("Sheet1").Range("A" & y, "U" & i).Copy _
Destination:=ThisWorkbook.Worksheets(Worksheets.Count).Range("A1")
y = i + 1
Else
End If
Next i
Call 複数のシートをブックへ分割
Application.ScreenUpdating = True
End Sub
- by editor
- at 10:18
編集長のおすすめの一冊!2010
comments