Добрый день! Может кто подсказать, есть ячейка с большим кол-вом символов от 10 до 1000. Надо разделить запись на строки по фиксированному кол-ву символов в строке, например 128. Как это можно сделать?
В примере - желтым выделено, то что сейчас, зеленым - целевая модель.
Буду благодарен!
Добрый день! Может кто подсказать, есть ячейка с большим кол-вом символов от 10 до 1000. Надо разделить запись на строки по фиксированному кол-ву символов в строке, например 128. Как это можно сделать?
В примере - желтым выделено, то что сейчас, зеленым - целевая модель.
А если позиций больше? А как угадать сколько формул надо протянуть? А макросу всё равно.
[vba]
Код
Sub разделить() Dim L&, s&, x$, i&, j& L = 128 s = 1 For i = 1 To Range("B" & Rows.Count).End(xlUp).Row x = Cells(i, 2) Cells(s, 7) = Cells(i, 1) If Len(x) > L Then For j = 1 To 99 Cells(s, 8) = Mid(x, 1, L) s = s + 1 x = Mid(x, L + 1, 999) If Len(x) <= L Then Cells(s, 8) = x s = s + 1 Exit For End If Next Else Cells(s, 8) = x s = s + 1 End If Next End Sub
[/vba]
А если позиций больше? А как угадать сколько формул надо протянуть? А макросу всё равно.
[vba]
Код
Sub разделить() Dim L&, s&, x$, i&, j& L = 128 s = 1 For i = 1 To Range("B" & Rows.Count).End(xlUp).Row x = Cells(i, 2) Cells(s, 7) = Cells(i, 1) If Len(x) > L Then For j = 1 To 99 Cells(s, 8) = Mid(x, 1, L) s = s + 1 x = Mid(x, L + 1, 999) If Len(x) <= L Then Cells(s, 8) = x s = s + 1 Exit For End If Next Else Cells(s, 8) = x s = s + 1 End If Next End Sub