Я работаю над таблицей Excel, которая имеет данные в 39 столбцах. Один из этих столбцов, столбец AJ, является полем описания и содержит текст, описывающий деталь строки подробно. Этот текст внутри ячейки иногда длиннее одной строки, а новые строки запускаются нажатием (ALT + Enter).Разделить текст в ячейках при разрывах строки
мне нужно, чтобы иметь возможность скопировать весь лист и поместить все это в другом листе (существующий лист), но с новой строкой для каждой новой линии в колонке AJ, следующим образом:
Column A Column B Column AJ
Electrical Lighting This is line one of the text
And in the same cell on a new line
Это требуемый результат:
Column A Column B Column AJ
Electrical Lighting This is line one of the text
Electrical Lighting And in the same cell on a new line
Я искал на форумах подобного кода, но у меня возникли проблемы адаптации для моей собственной цели.
UPDATE: Не уверен, почему именно это было закрыто, предположим, что вам, возможно, нужен пример какого-то кода. Я использовал ниже макрос, который я нашел в интернете:
Sub Splt()
Dim LR As Long, i As Long
Dim X As Variant
Application.ScreenUpdating = False
LR = Range("AJ" & Rows.Count).End(xlUp).Row
Columns("AJ").Insert
For i = LR To 1 Step -1
With Range("B" & i)
If InStr(.Value, ",") = 0 Then
.Offset(, -1).Value = .Value
Else
X = Split(.Value, ",")
.Offset(1).Resize(UBound(X)).EntireRow.Insert
.Offset(, -1).Resize(UBound(X) - LBound(X) + 1).Value = Application.Transpose(X)
End If
End With
Next i
Columns("AK").Delete
LR = Range("AJ" & Rows.Count).End(xlUp).Row
With Range("AJ1:AK" & LR)
On Error Resume Next
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
On Error GoTo 0
.Value = .Value
End With
Application.ScreenUpdating = True
End Sub
Но это не работает, может быть, я приспособил его неправильно.
Можете ли вы показать нам, что вы пробовали? –
вам нужно будет использовать некоторую формулу для достижения этой цели. – Chelseawillrecover
Общая логика: сначала скопируйте лист, затем посмотрите только столбец A, чтобы увидеть, что ячейка в строке пуста. Если он пуст, заполните A & B тем, что над ним, и перейдите к следующей строке. –