|    | 
     ▼かな さん: 
毎回、シートを作り直しています。 
シート名が不適切でエラーとなる場合もあるかもしれません。 
 
Sub シート分け2() 
  Dim ws As Worksheet 
  Dim n As Long 
   Dim h As Range 
    
  With Worksheets("一覧表") 
    Application.DisplayAlerts = False 
    For Each ws In Worksheets 
      If ws.Name <> .Name Then ws.Delete 
    Next 
    Application.DisplayAlerts = True 
     
    n = .Range("A1").CurrentRegion.Columns.Count 
      
    '転記する 
    For Each h In .Range("H7:H" & .Range("H65536").End(xlUp).Row) 
      Set ws = Nothing 
      On Error Resume Next 
      Set ws = Worksheets(h.Value) 
      On Error GoTo 0 
      If ws Is Nothing Then 
        '支店名シートを新調する 
        Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count)) 
        ws.Name = h.Value 
        .Rows(1).Resize(, n).Copy ws.Range("A3") 
      End If 
      ws.Range("H65536").End(xlUp).EntireRow.Resize(, n).Offset(1).Formula = _ 
        "=" & h.EntireRow.Range("A1").Address(False, False, , True) 
       
    Next 
  End With 
 
End Sub 
 
 | 
     
    
   |