31 character Sheet Name handled. Original error duplicated.

Sub 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
PS: Header row is j=1