31 character Sheet Name handled. Original error duplicated.
PS: Header row is j=1Sub M_snb() sn = Sheets(1).UsedRange.Columns(3) With CreateObject("scripting.dictionary") For j = 1 To UBound(sn) If sn(j, 1) <> "" Then x0 = .Item(sn(j, 1)) Next For Each it In .keys Sheets.Add.Name = Left(it, 31) Next End With For j = 1 To UBound(sn) Sheets(sn(Left(j, 7), 31)).Cells(Rows.Count, 1).End(xlUp).Offset(1).EntireRow = Sheets(1).Rows(j).Value Next End Sub