Excel сцепить ячейки с сохранением форматирования

Обновлено: 03.07.2024

Ребята, подскажите пожалуйста, можно ли, не прибегая к макросу, сцепить ячейки следующим образом:
в таблице 2 решающих столбца:
в первом - артикула (значения повторяются),
во втором - размеры.

Я создаю таблицу, сделав выборку только уникальных значений по столбцу 1 (артикула). И в столбец 2 нужно подтянуть значения из первой таблицы, сцепив между собой значения всех ячеек, соответствующих этому артикулу.

артикул размер
123_____2
123_____4
124_____2
124_____3
124_____5


В итоге надо получить таблицу вида:

артикул размер
123_____2 4
124_____2 3 5

Возможно ли реализовать такое с помощью формул?

Если нет - то подскажите - как использовать макросы?
Я с ними не дружна, однако нашла такой вот текст:

по описанию этот макрос должен сцеплять все ячейки до первого пустой ячейки - впринципе для меня это применимо: я могу "подвести итоги" в таблице - и тогда после каждого артикула будет пустая строка.
Однако я не умею ни вставлять в макросы (к стыду своему - даже не нашла, где открыть редактор в 2010 экселе - только запуск самого макроса), ни запускать их корректно по отношению к нужному диапазону.
Ребят, буду благодарна любому совету! Пожалуйста, поделитесь своими соображениями=) __________________
Помощь в написании контрольных, курсовых и дипломных работ здесь


Сцепить ячейки по условию
Доброго времени суток, Находил похожее, но у меня совсем другое условие.


Сцепить ячейки по условию с разделителем
Здравствуйте. Очень нужна помощь в написании макроса, который будет сцеплять ячейки (вставляя.

Сцепить ячейки с сохранением формата текста
Добрый вечер. В первой ячейке текст с подчёркнутыми словами. Во второй формула. Как сцепить.

Сложить ячейки в столбце отвечающие определенному цвету с учетом определенной иерархии
Друзья помогите пожалуйста в решении следующей задачи: 1. есть повторяющаяся цветовая иерархия;.

Где создавать новую таблицу - на другом листе? или в процессе формирования удалять дублирующиеся строки?

В образце: 123_____2 4

цифра 4 где должна стоять в соседней ячейке или в той же, что и "2", но через какой-нибуть разделитель?

Diskretor,
1. Где - не важно. Но удобнее на новом листе.
Вообще - я уже поместила на новый лист эту таблицу (без значений размеров) отфильтрованную по уникальным строкам. и вот хорошо бы в пустой столбец "Размер" новой (отфильтрованной по уникальности) таблицы поместить сцепленные значения из первой - неотфильтрованной

2. В той же ячейке через любой разделитель (пробел - оптимально). Дело в том, что для каждого артикула идет разное количество размеров - от 1ого до 20 - и плодить такое количество столбцов очень не комфортно!

Данные будут браться с листа № 1, начиная с ячейки A2 и записываться на лист № 2.

Открываем Excel. Нажимаем левый ALT+F8 набираем любое слово, нажимаем .
В появившемся окошке выделяем все, удаляем. В это же окошко копируем приведенный выше код (без цифровой нумерации).
Закрываем окно редактора, сохраняемся.

Для запуска макроса нажмите левый Alt+F8, .
Также для запуска можете создать кнопку и повесить ее прямо на лист, либо на панель инструментов.

Также может возникнуть проблема, если у Вас отключены макросы с целью безопасности.
Главное Меню (крайнее левое на ленте)-Параметры Excel-Центр управления безопасностью-Параметры центра управления безопасностью-Параметры макросов->уровень безопасности "Низкий" (офис 2007).

Стоит добавить, что перед выполнением макроса фильтрации необходимо заранее отсортировать колонку "А" (Данные -> Сортировка).

Если же это недопустимо, можно воспользоваться кодом на основе словаря:

В общем, мы применяем функцию СЦЕПИТЬ для объединения ячеек из одного листа. Но иногда вам может потребоваться объединить ячейки из разных листов в Excel, как это легко решить? В этой статье показаны два метода, которые помогут вам сделать это легко.

Объедините ячейки из разных листов с помощью формулы

Обычно мы можем применить функцию СЦЕПИТЬ и указать ячейки из разных листов одну за другой, чтобы объединить их в Excel.

doc объединение из нескольких листов 1

Выберите пустую ячейку, в которую вы поместите результат конкатенации, и введите формулу = CONCATENATE (Чай! A1, "", Кофе! A1, "", 'Безалкогольный напиток'! A1, "", Молоко! A1, "", Вода! A1) (A1 - это ячейка, содержимое которой вы объедините, Чай / Кофе / Безалкогольные напитки / Молоко / Вода - это имена листов, содержащие конкретную ячейку, которую вам нужно объединить) в нее и нажмите Enter ключ.


И тогда вы увидите, что содержимое указанных ячеек с разных листов объединено в одну ячейку. Смотрите скриншот:

Объедините ячейки из разных листов с помощью Kutools for Excel

Если существует множество листов, ячейки которых необходимо объединить в одну, приведенная выше формула может быть довольно утомительной. Здесь мы рекомендуем Kutools for Excel's Динамически обращаться к рабочим листам Утилита для упрощения работы с конкатенацией в Excel.

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!

doc динамически ссылаются на листы 1

1. Создайте новый лист в Excel, и на новом листе выберите ячейку с тем же адресом ячейки, что и те ячейки, которые вы объедините из других листов, говорит Ячейка A1, и нажмите Kutools > Еще > Динамически обращаться к рабочим листам. Смотрите скриншот:

2. В открывшемся диалоговом окне Fill Worksheets References,

doc объединение из нескольких листов 4

(1) Выберите Заполнить горизонтально ячейку за ячейкой из Заполнить заказ раскрывающийся список;

(2) Укажите рабочие листы, ячейки которых вы объедините в Список рабочих листов раздел

(3) Щелкните значок Диапазон заполнения и закройте диалоговое окно "Заполнить ссылки на листы". Смотрите скриншот:

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now

И теперь все содержимое ячейки A1 указанных листов извлекается и перечисляется в новом листе.

doc объединение из нескольких листов 5

3. Выберите пустую ячейку, в которую вы поместите результат конкатенации, и введите формулу = СЦЕПИТЬ (A1: E1 & "") (A1: E1 - это диапазон с содержимым ячеек, извлеченным из других листов), выделите в нем A1: E1 & "" в формуле и нажмите F9 key, затем удалите фигурные скобки в формуле, наконец, нажмите Enter ключ. Смотрите скриншот:

И тогда вы увидите, что все ячейки из указанных листов сразу объединены в одну ячейку.

Копирование с сохранением форматирования
Есть код, With GetObject("c:\temp\mydoc.docx") 'путь к файлу myVar = .Range.Text 'текст файла.


Объединение столбцов в Excel по порядку с сохранением форматирования ячеек
Здравствуйте! Данный код объединяет несколько столбцов с данными 1 2 3 1 2 3 2 3 .

Копирование данных с сохранением формата исходных ячеек
Доброго времени суток. Совсем не разбираюсь в написании макросов, пользуюсь похожими. .

Вставка в таблицу строк с сохранением форматирования
Доброе время суток. Подскажите пожалуйста как при помощи макроса возможно вставить в таблицу.

два отдельных файла, связанные фомулами ИМХО ненадежное решение, т.к. файлы могут переименовываться, переноситься, поочередно открываться и по отдельности редактироваться, сохраняться и т.д. Здесь потенциальный источник ошибок в будущем. Способа при помощи формулы по связи узнать цвет ячейки я не знаю. При помощи макроса можно запрограммировать перенос данных с цветом заливки ячеек из одной книги в другую, зная поточней, по какому правилу связаны две книги. Выкладывайте лучше обе книги и объясняйте) Вот. думаю суть поймете.
Ответте только на один вопрос как мне через связь передать цвет ячейки!?
(Я думаю при просмотре вы увидите Столбец индикатор так вот из него мне нужно передавать цвета в главную)
Не могу скинуть файл ограничение по одьему. Можно или засунуть файл в архив. Либо выхватить из файла фрагмент, отражающий суть, так чтобы утрированный пример отражал проблему. В крайнем случае положите на файлообменник и дайте ссылку. Через связь думаю цвет вы не передадите. Напишите макрос, который будет смотреть цвет на нужном листе и окрашивать ячейку на общем. Цвет можно передать копированием ячейки. Но если нужно именно через связь, тогда VBA вам в помощь. Я и прошу помоши в ВБА.Я не понимаю как передать.
ЕСть способ передать цвет не открывая файлы которые через связь контактируют и хранятся в другом месте??

Свыше 30 МБ в zip, мой трафик на работе не позволит, извините. Что до передачи цвета по связям без открытия файлов - это невозможно (на мой взгляд), а макрос работает только с открытым файлом.

Моя идея для макроса в общих чертах: в сводном файле перечислить коллекцию внешних связей в цикле; на каждом шаге открывать файл по связи, затем находить с водной диапазон ссылок на этот файл и по ссылкам получать ячейку (src.Cells(i,j)), на которую идет ссылка и из этой ячейки брать значение цвета заливки (src.Cells(i,j).Interior.ColorIndex) и подставлять эти значения в соотв. ячейку сводной таблицы. Как-то так.

Но если подходить так, то по ходу надо попросту избавляться от внешних ссылок при помощи списка файлов и алгоритма в макросе делать периодическое копирование значений с учетом форматирования (цвета заливки ячеек).

Используйте функцию СЦЕПИТЬ, относящуюся к текстовым функциям, для объединения двух или нескольких текстовых строк в одну.

Важно: В Excel 2016, Excel Mobile и Excel в Интернете эта функция была заменена функцией СКАЙТ. Функция СЦЕПИТЬ пока еще доступна для обратной совместимости, однако рекомендуем использовать вместо нее функцию СЦЕП. В последующих версиях Excel функция СЦЕПИТЬ может быть недоступна.

Синтаксис: СЦЕПИТЬ(текст1;[текст2];…)

Ниже приведены примеры.

=СЦЕПИТЬ("Популяция рек для ";A2;" ";A3;" составляет ";A4;" на километр.")

Имя аргумента

текст1 (обязательный)

Первый элемент для объединения. Это может быть текстовое значение, число или ссылка на ячейку.

текст2. (необязательные)

Дополнительные текстовые элементы для объединения. Можно указать до 255 элементов и до 8 192 символов.

Примеры

Чтобы использовать эти примеры в Excel, скопируйте данные из приведенной ниже таблицы и вставьте их на новый лист в ячейку A1.

=СЦЕПИТЬ("Популяция рек для ";A2;" ";A3;" составляет ";A4;" на километр.")

Создает предложение, объединяя данные в столбце А с остальным текстом. Результат: "Популяция рек для вида речная форель составляет 32 на километр".

Объединяет строку в ячейке В2, пробел и значение в ячейке С2. Результат: "Виталий Токарев".

Объединяет текст в ячейке C2, строку, состоящую из запятой и пробела, и значение в ячейке B2. Результат: "Виталий Токарев".

Объединяет строку в ячейке B3, строку, состоящую из пробела, амперсанда и еще одного пробела, и значение в ячейке C3. Результат: Fourth & Pine.

Объединяет те же элементы, что и в предыдущем примере, но с помощью оператора & (амперсанд) вместо функции СЦЕПИТЬ. Результат: Fourth & Pine.

Распространенные неполадки

Кавычки отображаются в строке результата.

Используйте точку с запятой для разделения текстовых элементов. Например: Excel отобразит результат функции =СЦЕПИТЬ ("Привет, ""мир!") как "Привет,"мир!" с лишней кавычкой, так как пропущена точка с запятой между текстовыми аргументами.

Числа не нужно заключать в кавычки.

Слова расположены впритык друг к другу.

Если не поместить пробелы между текстовыми элементами, в строке результата они будут отображаться слитно. Добавьте пробелы в формулу с функцией СЦЕПИТЬ. Это можно сделать двумя способами.

Добавьте двойные кавычки с пробелом между ними (" "). Например: =СЦЕПИТЬ("Привет,"; " "; "мир!").

Добавьте пробел после текстового аргумента. Например: =СЦЕПИТЬ("Привет, "; "мир!"). К строке "Привет," добавлен пробел.

Рекомендации

Необходимые действия

Вместо функции СЦЕПИТЬ используйте знак & (амперсанд).

С помощью оператора & можно объединять текстовые элементы, не прибегая к функции.

Например, =A1 & B1 возвращает то же значение, что и =С CONCATENATE(A1;B1). Во многих случаях воспользоваться оператором амперсанда проще и быстрее, чем создавать строки с помощью функции СЦЕПИТЬ.

Для объединения и форматирования строк используйте функцию ТЕКСТ.

Функция ТЕКСТ преобразует числовое значение в текст и объединяет числа с текстом или символами.

Предположим, что ячейка A1 содержит число 23,5. Чтобы отформатировать число как сумму в рублях, можно использовать следующую формулу:

Дополнительные сведения

Для объединения и форматирования строк используйте функцию ТЕКСТ.

Ознакомьтесь с дополнительными сведениями об использовании операторов вычислений.

Читайте также: