На листе Excel в столбце A содержатся имена, в столбце B - фамилии. Как при помощи макроса объединить содержимое ячеек этих столбцов в один столбец С, при этом разделив значения пробелом? Данную операцию нужно выполнить на большом количестве строк (порядка 500). Вот пример макроса, который выполняет аналогичную операцию, но только с одной строкой. Каким образом нужно подправить?
-------------------------------------------------
Sub test()
' соединяет содержимое ячеек диапазона [A1:B1] через соединитель delimiter
' и записывает результат в ячейку [C1]
Set ra = [A1:B1]: res = "": delimiter = " " ' delimiter - разделитель
' соединение значений ячеек исходного диапазона в переменную res
For Each cell In ra.Cells: res = res & cell & delimiter: Next: res = Left(res, Len(res) - Len(delimiter))
[c1] = res
End Sub
-------------------------------------------------
Заранее спасибо!
Примечание:
2 ToshibaUser
Вера то позволяет ), но только при объединении ячеек Excel выдает вот что:
"Выполняется объединение ячеек, среди которых по меньшей мере две ячейки содержат данные.
В Microsoft Office Excel объединение означает создание одной ячейки из двух или более выделенных ячеек. Если данные содержатся в нескольких объединяемых ячейках, сохраняются только данные в левой верхней или правой верхней ячейке (в зависимости от текущего направления просмотра), при этом ОСТАЛЬНЫЕ ДАННЫЕ УДАЛЯЮТСЯ."
В принципе можно использовать вот такую формулу, введенную в C1: =A1&" "&B1 , но, опять же проблема: в ячейках должны быть текстовые значения, а не формулы. Поэтому и спрашиваю про макрос.
Выполняется объединение ячеек, среди которых по меньшей мере две ячейки содержат данные.
В Microsoft Office Excel объединение означает создание одной ячейки из двух или более выделенных ячеек. Если данные содержатся в нескольких объединяемых ячейках, сохраняются только данные в левой верхней или правой верхней ячейке (в зависимости от текущего направления просмотра), при этом остальные данные удаляются.
Примечание:
2 scriptoman
Спасибо за макрос! То что нужно! Но 3 строчка
Dim stolbTo(1 to 100) as string
нужна, без нее выдает ошибку: "Sub or Function undefined" )
Примечание:
2 scriptoman
Сорри, не про ту строчку написал ) Не нужна строка
Dim rezulat(1 to 100)
Еще раз спасибо за макрос!
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.