#3です。
Sub try()
Dim ws_m As Worksheet
Dim ws_s As Worksheet
Dim r As Range
Dim rr As Range
Dim rs As Range
Application.ScreenUpdating = False
Set ws_m = Worksheets("Sheet1") 'データが入っているシート
With ws_m 'データシートのZ1~Zの最終行まで
Set r = .Range(.Range("Z1"), .Cells(Rows.Count, "z").End(xlUp))
End With
For Each rr In r
On Error Resume Next
Set ws_s = Worksheets(CStr(rr.Value))
On Error GoTo 0
If ws_s Is Nothing Then
Worksheets.Add After:=Worksheets(Worksheets.Count)
Set ws_s = ActiveSheet
ws_s.Name = CStr(rr.Value)
End If
If ws_s.Range("A1").Value = "" Then
Set rs = ws_s.Range("A1")
Else
Set rs = ws_s.Cells(Rows.Count, 1).End(xlUp).Offset(1)
End If
rs.Resize(, 26).Value = rr.Offset(, -25).Resize(, 26).Value
Set ws_s = Nothing
Next
Application.ScreenUpdating = True
Set ws_m = Nothing
Set ws_s = Nothing
Set r = Nothing
Set rs = Nothing
End Sub
一例です。
ご参考になれば。
お礼
回答ありがとうございます。 本マクロを試して見た結果、思い通りの処理が行えました。 ありがとうございました。 また、助言・回答等でご協力いただいた皆様に 感謝いたします。ありがとうございました。