Нужно выделить ячейки одного цвета в столбце екселя, скопировать, и перенести в другой столбец. При этом, не нарушая порядок при копировании, например, если выделены ячейки a34, a35 и a37, то при копировании допустим в столбик b они вставлялись на то же место, но не трогая ячейку b36 (a36).
Ищу уже весь день, все не то. Нашел макрос который копирует несмежные ячейки, но проблема в том что вставляет их по порядку. Есть ли какие-то надстройки с уже готовыми решениями?
-
Вопрос заданболее трёх лет назад
-
6390 просмотров
Выделение ячеек по цвету, или по стилю |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
В некоторых случаях вам может потребоваться скопировать цвет заливки ячейки только в ячейки диапазона, но нет опции вставки, которая может помочь вам вставить только цвет заливки ячейки в Excel. Вы можете подумать о том, чтобы найти тот же цвет из списка цветов заливки, но если цвет не может быть найден напрямую, как вы можете это сделать? Здесь я расскажу о некоторых приемах, позволяющих быстро скопировать только цвет ячейки и вставить его в диапазон в Excel.
Скопируйте цвет фона ячейки только в диапазон с помощью VBA
Быстро копируйте цвет фона ячейки только в диапазон с помощью копирования форматирования ячейки
Скопируйте цвет фона ячейки только в диапазон с помощью VBA
В Excel вы можете использовать только код VBA для копирования только цвета заливки ячейки.
Перед запуском VBA вы должны знать номер цвета, который вам нужно скопировать в списке цветов.
1. Нажмите Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окна, а затем нажмите Вставить > Модули, затем вставьте ниже VBA в новое окно модуля.
VBA: скопируйте только цвет с заливкой одной ячейки.
Sub color1()
Dim i As Integer
i = InputBox("Enter the colour number")Range("D1:F6").Interior.ColorIndex = i
End Sub
Функции: В VBA вы можете изменить диапазон ячеек по мере необходимости Диапазон («D1: F6»). Interior.ColorIndex = i.
2. Нажмите F5 ключ для запуска этого VBA. Затем в появившемся диалоговом окне введите в него относительное количество цветов. Смотрите скриншот:
3. Нажмите OK. Ассортимент пополнился 17-м цветом.
Но с этим VBA вы можете использовать только цвет из списка цветов, если цвет вне списка, он не может работать. Итак, перейдем к другому действенному методу.
Быстро копируйте цвет фона ячейки только в диапазон с помощью копирования форматирования ячейки
Работы С Нами Kutools for ExcelАвтора Копировать форматирование ячеек Каким бы ни был цвет, с его помощью можно быстро скопировать только его и вставить в другие ячейки.
Бесплатная установка Kutools for Excel а затем выполните следующие шаги:
1. Выберите ячейку, в которой нужно скопировать цвет заливки, нажмите Кутулс > Формат > Копировать форматирование ячеек. Смотрите скриншот:
2. в Копировать форматирование ячеек диалог, проверьте Цвет / оттенок салона только. Смотрите скриншот:
3. Нажмите Ok, и выберите ячейки, в которые нужно вставить этот цвет. Смотрите скриншот:
4. Нажмите OK. Выбранный диапазон закрашен тем же цветом.
С помощью функции «Копировать форматирование ячейки» вы также можете скопировать все форматирование ячейки, скопировать только цвет шрифта ячейки и так далее.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (0)
Оценок пока нет. Оцените первым!
Иногда возникает необходимость изменить, определить цвет ячейки для копирования, закрасить определенную область, придав тем самым неповторимые и выразительные черты таблице данных.
В этой статье мы рассмотрим как вручную можно менять цвет ячейки, а так же как прописать в VBA изменение цвета диапазона ячеек или одной выделенной ячейки.
Начнем с простого. На главной панели инструментов ленты находится панель Формата Ячеек:
Для того, чтобы изменить цвет ячейки (диапазона ячеек) нам необходимо выделить ее, после чего на Панели инструментов выбрать необходимый цвет. Так же можно задать другие цвета, выбрав их из палитры. Панель инструментов меняет так же цвет текста, размер шрифта и формат границы ячейки.
Теперь зададим формат ячейки пользуясь контекстным меню, для чего кликнем правой кнопкой мыши на ячейке и в открывшемся списке выберем «Формат Ячеек»:
На вкладке «Заливка» можно выбрать цвет фона и узор.
Рассмотрим несколько иную ситуацию. Допустим вы хотите скопировать цвет ячейки (и формат) с существующей и применить к своим ячейкам. Воспользуемся кнопкой на главной панели «Формат по образцу» («метелочка»):
Таким образом, для того, чтобы скопировать формат необходимо выделить интересующую нас ячейку, нажать на «метелочку» и кликнуть по ячейке, формат которой мы хотим задать.
Аналогичные операции можно описать и в Макросах. Если есть необходимость вставить в код условие, по которому будет меняться формат ячейки или проводиться суммирование ячеек с определенным цветом или шрифтом, то проведя операции копирования формата с записью макроса, можно увидеть что:
Задать цвет ячейке (A1 окрашивается в Желтый):
Sub Макрос2() Range("A1").Select With Selection.Interior .Color = 65535 End With End Sub
Скопировать формат ячейки (формат A1 копируется на A3):
Sub Макрос1() Range("A1").Select Selection.Copy Range("A3").Select Selection.PasteSpecial Application.CutCopyMode = False End Sub
Теперь комбинируя формат с операторами условия можно написать вычисления (например, суммирование) по условию цвета.
Будем благодарны, если Вы нажмете +1 и/или Мне нравится внизу данной статьи или поделитесь с друзьями с помощью кнопок ниже.
Спасибо.
Подскажите пожалуйста, можно ли, и если можно, то каким образом можно перенести не только значение конкретной ячейки, но и цвет ее заливки. Допустим ячейка А2 имеет значение 100 и ЖЕЛТУЮ заливку. Вводим в А1 формулу «=А2» и получаем значение 100, но без заливки А1. А надо получить в А1 и значение и тот же цвет заливки что и у А2. Можно такое сделать? |
|
Можно, макросом. |
|
Если быть более точным, то значения вообще не нужны. Нужен только цвет. Когда одна определенная ячейка меняет цвет, то таже замена происходит и в другой определенной ячейке. |
|
{quote}{login=Fagot}{date=15.12.2010 08:23}{thema=}{post}Если быть более точным, то значения вообще не нужны. Нужен только цвет…{/post}{/quote} |
|
{quote}{login=Z}{date=15.12.2010 08:34}{thema=Re: }{post}{quote}{login=Fagot}{date=15.12.2010 08:23}{thema=}{post}Если быть более точным, то значения вообще не нужны. Нужен только цвет…{/post}{/quote} Насчет световоров, хорошая идея. Стоит подумать. |
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#6 15.12.2010 20:54:53 А на какое событие вы хотите, вы хотите повесить макрос,
|
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#7 15.12.2010 20:59:16 При простом изменении цвета в ячейке событие не происходит.,
|
|
{quote}{login=R Dmitry}{date=15.12.2010 08:54}{thema=Re: Re: Re: }{post}А на какое событие вы хотите, вы хотите повесить макрос, Можно было бы описать цель этой операции, но придется углубиться в дебри. Кому это нужно? |
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#9 15.12.2010 21:05:53 Я же Вам написал, при изменении заливки в ячейке событие не происходит
|
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#10 15.12.2010 21:11:48 если ячейки определенные то можно так конечно Private Sub Worksheet_SelectionChange(ByVal Target As Range)
|
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#11 15.12.2010 21:16:03 Private Sub Worksheet_Activate()
|
|
{quote}{login=R Dmitry}{date=15.12.2010 09:05}{thema=Re: Re: Re: Re: Re: }{post}Я же Вам написал, при изменении заливки в ячейке событие не происходит :({/post}{/quote} Если я правильно понял, то эксель такого не умеет? |
|
Пока писал последний пост. Уже пришли Ваши макросы. |
|
Старый маразматик. Забыл прицепить файл. |
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#15 15.12.2010 21:29:31 {quote}{login=Fagot}{date=15.12.2010 09:24}{thema=}{post}Старый маразматик. Забыл прицепить файл.
|
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#16 15.12.2010 21:36:40 вернусь через 2 часа если никто не сделает значит мое
|
|
{quote}{login=R Dmitry}{date=15.12.2010 09:36}{thema=}{post}вернусь через 2 часа если никто не сделает значит мое :){/post}{/quote} Все верно. Сколько будет стоить? |
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
Дмитрий, мы честно ждём 2 часа |
Блин! Два часа ждать не могу. Я уже сам сделал, без макросов. |
|
Кстати, кто в покер (Texas Holdem) играет, полезный файл… обозначает силу рук при различном колличестве играющих за столом (от 2 до 10)… такого в инете нет! |
|
…в правом-верхнем РАЗНОМАСТНЫЕ… |
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
Ну, раз уж сами сделали, то посмотрите и вариант с макросами. |
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
{quote}{login=Fagot}{date=15.12.2010 09:54}{thema=}{post}Блин! Два часа ждать не могу. {/post}{/quote} |
swoloch Пользователь Сообщений: 25 |
Выложи свой вариант пожалуйста! Без макрасов как тебе удалось? |
{quote}{login=Юрий М}{date=15.12.2010 10:19}{thema=}{post}Ну, раз уж сами сделали, то посмотрите и вариант с макросами.{/post}{/quote} Да! Впечатляет! |
|
{quote}{login=Swoloch}{date=15.12.2010 10:34}{thema=}{post}Выложи свой вариант пожалуйста! Без макрасов как тебе удалось?{/post}{/quote} Уже выложил.. в посте выше… там где про «два часа ждать не могу» просто разложил по листам… тупой и еще тупее называется… чего еще проще то? |
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
У меня на Казанском вокзале (Москва, блин!) спёрли электронный кошелёк. Так что первый урок бесплатно |
kim Пользователь Сообщений: 3139 Игорь |
В версии 2007 и выше, это элементарно делается условным форматированием… |
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
А как быть со значениями тогда? |
Fagot Гость |
#30 15.12.2010 23:14:25 {quote}{login=Юрий М}{date=15.12.2010 10:45}{thema=}{post}У меня на Казанском вокзале (Москва, блин!) спёрли электронный кошелёк. Так что первый урок бесплатно :-){/post}{/quote} Спасибо, Юрий! |
Часто бывает, когда одни ячейки уже красиво отформатированы, а другим нужно задать точно такой же стиль. Если воспользоваться обычным копированием Ctrl + C и вставкой Ctrl + V, то вместе со стилями копируется и содержимое ячейки, больше того — если скопировать обычным способом диапазон ячеек 2х3, то вставить можно будет только такого размера, независимо сколько ячеек выделено для вставки.
Для копирования стилей существует специальный инструмент. Это кнопка «Format Painter» на вкладке «Home» в первом блоке «Clipboard». Шаги применения такие:
- Выделяем исходные ячейки, стили которых надо скопировать в другую область.
- Нажимаем на вкладке «Home» кнопку «Format Painter».
- Выделяем ячейки, которым нужно назначить новый стиль.
Существует другой вариант:
- Выделяем исходные ячейки.
- Нажимаем на вкладке «Home» кнопку копирования «Copy» или просто Ctrl + C.
- Выделяем ячейки, которым будем устанавливать новый стиль.
- Нажимаем под кнопкой вставки «Paste» стрелку вниз для отображения расширенных опций.
- В блоке «Other Paste Options» нажимаем кнопку «Formatting (R)«.
Как это выглядит (оба варианта):
Разница между этими вариантами одна: функция «Format Painter» работает единоразово, то есть, один раз нажали кнопку — один раз перенесли стили ячеек, тогда как при копировании и вставке можно скопировать один раз а вставлять стили на новые ячейки сколько угодно. Чтобы завершить копирование нажмите Esc.