1つのシートに入力しているデータを別ブックに分割する方法の例です。
目次
例:別ブックに分割する
- 分割の基準:A列・分類
- データは分類順で並んでいない

分割後のエクセルブックです。

分割対象の分類は、別シート「対象」に入力しています。AとBのみ分割したい場合は、AとBのみ入力します。

上記の例は少ないデータ量ですが、実際にあった例ではデータ量が2万行を超えていました。
一気に全データを対象にマクロを実行してはいません。
エクセルの最終行は1,048,576ですが、最終行まで使っているデータを見たことはないし、内容によっては2万行くらいでもメモリ不足になることもあります。
サンプルVBA(マクロ)
変数等は最小限にしています。
Sub sample()
Dim wsT As Worksheet '分割対象一覧のシート
Dim Lrow As Long '分割対象一覧のシートの最終行
Dim i As Long
Dim wsName As String
Dim wbName As String
Application.ScreenUpdating = False
Set wsT = ActiveWorkbook.Sheets("対象")
Lrow = wsT.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Lrow
wbName = wsT.Cells(i, 1)
Range("A1").AutoFilter 1, wbName
wbName = "F:\sample" & "\" & wbName
Range("A1").CurrentRegion.Copy
Workbooks.Add
ActiveSheet.Paste
With ActiveWorkbook
.SaveAs Filename:=wbName
.Close
End With
Next i
ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = False
MsgBox "分割しました。"
End Sub
シート「一覧」をアクティブにした状態で、マクロを実行します。

