Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.02.2009, 15:23   #1
Lal
 
Регистрация: 25.02.2009
Сообщений: 7
По умолчанию Объединение данных из диапазона ячеек

Подскажите, пожалуйста, как написать макрос для копирования данных из диапазона ячеек в одну ячейку?
Lal вне форума
Старый 25.02.2009, 17:05   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

С такой формулировкой вопроса Вы вряд ли получите ответ.

Как скопировать много ячеек в одну ячейку?
Что находится в этих ячейках? (числа, текст, формулы)
Что надо получить в итоговой ячейке - сумму, или строку, состоящую из содержимого отдельных ячеек?

Нужен пример файла + подробное описание задачи.

Макрос получится очень простой, но из-за Вашей предельной лаконичности написать его прямо сейчас нет возможности.

Последний раз редактировалось EducatedFool; 13.06.2009 в 16:01.
EducatedFool вне форума
Старый 26.02.2009, 00:12   #3
Lal
 
Регистрация: 25.02.2009
Сообщений: 7
По умолчанию

Спасибо.
Вот уточнения:
В ячейкаx A1:A15 (количество строк может увеличиваться) находится текст.
Нужно все текстовые значения из этого диапазона перечислить в ячейке B1, через запятую.
Заранее спасибо!
Lal вне форума
Старый 26.02.2009, 01:06   #4
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Неужели это так часто надо делать? Может просто воспользоваться функцией сцепить? Пробовали?
Лень - двигатель прогресса!
IFRSoff вне форума
Старый 26.02.2009, 01:21   #5
Lal
 
Регистрация: 25.02.2009
Сообщений: 7
По умолчанию

Функция Сцепить конечно работает в данном случае, но приходится каждый раз делать щелчки по ячейкам, чтобы добавить новый аргумент.
Может быть как-то можно обратиться к диапазону целиком, а не отдельно к каждой ячейке?
Lal вне форума
Старый 26.02.2009, 02:22   #6
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Ну тогда жди EducatedFool. Он в макросах силен и такая мелкая задача действительно не заставит долго ждать решения.
Лень - двигатель прогресса!
IFRSoff вне форума
Старый 26.02.2009, 05:27   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вот, например, возможные варианты:
Код:
Sub Вариант_1()
    Dim i As Long, a, b()
    a = Range([A1], Cells(Rows.Count, "A").End(xlUp))
    ReDim b(LBound(a, 1) To UBound(a, 1))
    For i = LBound(b) To UBound(b)
        b(i) = a(i, 1)
    Next
    [B1] = Join(b, ",")
End Sub

Sub Вариант_2()
    Dim i As Long, myString As String
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        myString = myString & Cells(i, "A") & ","
    Next
    If myString <> "" Then [B1] = Left(myString, Len(myString) - 1)
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 26.02.2009, 07:39   #8
Lal
 
Регистрация: 25.02.2009
Сообщений: 7
По умолчанию

Большое спасибо!!!
Lal вне форума
Старый 12.08.2009, 11:24   #9
verdi
 
Регистрация: 12.08.2009
Сообщений: 5
По умолчанию

Добрый день!
Подскажите, пожалуйста, макрос для объединения столбцов.
У меня таблица формата

|телефон | факс | e-mail | сайт |

77777 7777 w@w. www


нужно | результат |

тел.: 77777, факс: 7777, e-mail: w@w. сайт: www

т.е., объединить их через запятую с указанием названия столбца.

Пробовал использовать формулы типа "Сцепление", но это не помогает, т.к. полученные данные нужно перенести в другую книгу, при этом, не засоряя ее дополнительными листами с данными + эти данные необходимо будет менять. Словом, нужен макрос, чтобы данные можно было редактировать прямо в тех ячейках, в которых мы их видим.

Сам от программирования также далек, поэтому, к сожалению, сам написать макрос не могу, а руководство задачу поставило.
Буду очень признателен за помощь!

Модератор: создайте новую тему, и прикрепите файл с таблицей и тем, что надо получить в результате.
PS: Макрос здесь не нужен - вполне хватит и простейшей формулы.

Последний раз редактировалось EducatedFool; 12.08.2009 в 15:36.
verdi вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование функции MID для диапазона данных NikolayGVB Microsoft Office Excel 2 14.01.2009 13:01
Объединение ячеек Katherina_Koval Microsoft Office Excel 3 29.07.2008 06:53
Цикл для просмотра диапазона и выбора нужных ячеек. Dorvir Microsoft Office Excel 8 21.07.2008 06:33
Объединение ячеек в таблице SnakeMan Общие вопросы Delphi 2 01.04.2008 12:33
Объединение ячеек StringGrid Македонский Общие вопросы Delphi 1 15.11.2007 12:07