У меня есть список из 60 тысяч имен. Мне нужно разделить их на разные листы в зависимости от их длины.

Я делал это обычным способом, используя формулу len(), фильтровал их и копировал, вставлял на отдельный лист.

Есть ли какой-нибудь код VBA, который я могу использовать для этого?

Пример списка

Name     Length
EMMALINE    8
EMMIE       5
EMMER       5
AMMIE       5
EMMY        4
AMMA        4
EMMELINE    8
EMMALEE     7
EMMALOU     7

1 ответ1

2

Это всего лишь примерный подход. Назовите листы назначения следующим образом:

Затем запустите этот макрос:

Sub croupier()
    Dim N As Long, i As Long, s As String, M As Long

    Sheets("Sheet1").Select
    N = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To N
        v = Cells(i, 1).Value
        s = "s" & Len(v)
        With Sheets(s)
            M = .Cells(Rows.Count, 1).End(xlUp).Row + 1
            .Cells(M, 1) = v
        End With
    Next i
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .