Стандартная функция Excel "Заполнить" > "Выровнять" (она же в VBA: "Selection.Justify") работает только с первыми 255 символами в ячейке, как и множество других подлых функций (например, "СЧЁТЕСЛИ").
Возможно ли обойти это ограничение? Возможно ли написать пользовательскую функцию? Может есть вообще другой способ?
Задача: преобразовать текст в ячейке таким образом, чтобы рядом с ним создалось количество строк, равное количеству слов в ячейке (по факту - количеству пробелов между словами, +1). Чтобы у каждого слова из первоначальной ячейки была своя собственная строка. Вот так: Чтобы у каждого слова из первоначальной ячейки была своя собственная строка. Вот так: (а потом я ещё всякие символы лишние, вроде ":" и "." убираю). "Текст по столбцам" не предлагать. Спасибо.
Public Sub www()
Dim lr&, a, i&
lr = Cells(Rows.Count, 1).End(xlUp).Row
For i = lr To 2 Step -1
If InStr(Cells(i, 1), " ") Then' на случай если нечего делить
a = Split(Cells(i, 1), " ")
Cells(i, 1).Resize(UBound(a)).Insert xlDown
Cells(i, 1).Resize(UBound(a) + 1).Value = Application.Transpose(a)
End If
Next
End Sub
Public Sub www()
Dim a
If InStr(Selection, " ") = 0 Or Selection.Cells.Count > 1 Then Exit Sub
a = Split(Selection, " ")
Selection.Resize(UBound(a)).Insert xlDown
Selection.Resize(UBound(a) + 1).Value = Application.Transpose(a)
End Sub