Если использование VBA непосредственно в Excel является жизнеспособной альтернативой, вы можете написать макрос для выполнения этой задачи.Макрос будет сохранен в фактическом файле Excel.
Когда Excel объединяет ячейки, он сохраняет только значение первой ячейки, поэтому, прежде чем объединить эти ячейки, объедините их значения в нужном формате.Чтобы добавить разрыв строки к вашему значению, объедините Chr(10)
там, где вы хотите новую строку.
Имейте в виду, что если вы отформатируете числовые ячейки таким образом, значение ячейки станет строкой и поэтому может 'больше не может использоваться как число в формулах.
Следующий код будет делать то, что вы хотите *:
Dim finalValue As String
For Each c In Selection
finalValue = finalValue & IIf((Len(finalValue) > 0) And (Len(c.Text) > 0), Chr(10), Empty) & c.Text
Next c
Selection.Clear
Selection.Merge
Selection.Value = finalValue
* примечание: я сделал код с выбором на случайвам нужно выполнить эту задачу с переменным номером ячейки, но она будет работать с любым Range
объектом
, также обратите внимание, что пустая ячейка не будет содержать пустую строку, если вы не удалите условие And (Len(c.Text) > 0)
в IIf
.Но при этом слияние выделения с уже объединенными ячейками создаст столько пустых строк, сколько [the size of the merged cell] - 1