Вот пример разделения содержимого ячейки в A1 на листе 1 на переменную x
разделение на перевод строки VBA (обычно результат ALT + ENTER в ячейке Excel)
x = Split(Worksheets("Sheet 1").Range("A1").Value2, vbLf)
Затем вы можете циклически перебирать элементы x
, используя счетчик i
, и помещать каждый элемент в столбец B, где i+1
может быть строкой. Пример рабочей процедуры:
Sub e()
Dim x As Variant
Dim i As Long
x = Split(Worksheets("Sheet 1").Range("A1").Value2, vbLf)
For i = LBound(x) To UBound(x)
Worksheets("Sheet 2").Range("A" & i + 1).Value2 = x(i)
Next i
End Sub
Вы можете избежать зацикливания, транспонировав массив непосредственно в Range, например, ниже взяв разделенное содержимое A1
и поместив его в столбец B
:
Sub e()
Dim x As Variant
x = Split(Range("A1").Value2, vbLf)
Range("B1:B" & UBound(x) + 1).Value2 = Application.WorksheetFunction.Transpose(x)
End Sub