Добрый день! Помогите, пожалуйста, с решением, на мой взгляд нетривиальной задачи.
Есть несколько ячеек, в которых записаны текстовые и цифровые данные, нужно сделать объединение всех данных в соседнюю пустую ячейку, НО необходимо сделать так, что значения в разных строках в объединенной ячейки шли с новой строки (аналогично комбинации клавиш Alt+Enter).
Считаю, что макросом эту задачу под силу создать. Как я вижу его работу - пользователь выделяет ячейки, потом активирует макрос и в соседней от выделенного диапазона ячеек получает результат.
Пожелание:
1) Чтобы макрос заполнял ячейку с пробелами между слов, знаков и цифр ("яблоко 23"); 2) Выбрать любое количество ячеек для объединения.
Спасибо!
P.S. Посмотрел следующие темы по "похожим" вопросам, но они, к сожалению, мне не помогают:(
http://planetaexcel.ru/techniques/7/205/ (возможно здесь близко к решению моего вопроса, но данные записываются в разных ячейках, а мне нужно в одной и каждая строка с ячейками - с новой строчки)
Уточните, пожалуйста - в "соседнюю пустую"- в смысле рядом с диапазоном обязательно есть пустая ячейка на первой строке этого диапазона, или ее еще надо найти на листе?
Проверяйте. Выделяете диапазон, запускаете макрос. В соседней справа с диапазоном ячейке в первой строке диапазона будет выведен результат. Ячейка должна иметь соответствующие размеры, чтобы результат корректно отобразился.
Код
Sub T_106()
Dim strS As String
Dim intI As Integer
Dim intJ As Integer
For intI = 1 To Selection.Rows.Count
For intJ = 1 To Selection.Columns.Count
strS = strS & " " & Selection.Cells(intI, intJ)
Next intJ
strS = strS & Chr(10)
Next intI
strS = Replace(Left(strS, Len(strS) - 1), " ,", ",")
strS = Replace(strS, " .", ".")
Selection.Cells(1, intJ) = strS
End Sub
З.Ы. Чуть добавил на скорую руку убийство лишних пробелов между словами и препинаниями (",", "."), если они в разных столбцах