Note: The other languages of the website are Google-translated. Back to English

Как изменить цвет ячейки при нажатии или выборе ячейки в Excel?

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

Изменить цвет ячейки при нажатии на ячейку с кодом VBA
Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel


Изменить цвет ячейки при нажатии на ячейку с кодом VBA

Здесь вы можете изменить цвет фона ячейки, дважды щелкнув по ней или щелкнув правой кнопкой мыши с помощью следующего кода VBA.

1. На рабочем листе вы измените цвет ячейки при нажатии на нее, щелкните правой кнопкой мыши вкладку листа и нажмите Просмотреть код из контекстного меню.

2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.

VBA: изменить цвет ячейки при нажатии на нее

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Target.Interior.Color = vbRed
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Target.Interior.Color = vbGreen
End Sub

3. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

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


Один щелчок, чтобы выделить строку и столбец выбранной ячейки в Excel:

Kutools for Excel's Макет для чтения Утилита помогает быстро выделить строку и столбец выбранной ячейки в Excel, как показано в демонстрации ниже.
Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная трасса)


Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA

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

1. Щелкните правой кнопкой мыши вкладку листа, для которой нужно изменить цвет выделения выбранного диапазона, и щелкните Просмотреть код из контекстного меню.

2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.

Код VBA: изменить выделенный цвет выбранного диапазона

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Target
        .Worksheet.Cells.FormatConditions.Delete
        .FormatConditions.Add xlExpression, , "TRUE"
        .FormatConditions(1).Interior.Color = vbYellow
    End With
End Sub

3. Нажмите другой + Q ключи одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

С этого момента цвет выделенного диапазона или ячейки изменится на желтый. Когда вы щелкаете другую ячейку или диапазон ячеек, ячейки будут раскрашены автоматически.


Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel

Если вы имеете дело с большим листом, необходимо выделить всю строку и столбец активной ячейки, чтобы облегчить чтение. Здесь Макет для чтения полезности Kutools for Excel могу помочь тебе.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Нажмите Кутулс > Макет для чтения. Смотрите скриншот:

Когда макет чтения включен, вы можете видеть, что строка и столбец активной ячейки сразу выделяются.

Внимание: Вы можете изменить настройки макета чтения в зависимости от ваших потребностей, как показано на скриншоте ниже.

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


Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (28)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
спасибо большое спасибо. Я ценю тебя за это.
Этот комментарий был сведен к минимуму модератором на сайте
Мне нравится, как легко форматирование моего листа кода для «изменить цвет ячейки при нажатии на него» сделало бы мою повседневную работу! Я все же попадаю в ловушку. Когда я копирую свой пустой лист с кодом, введенным, как описано, я получаю сообщение об ошибке. Он отлично работает, пока я не создам новые листы. Я новичок в программировании и работаю по учебникам и в Интернете. Я ценю любую помощь, которую вы предложите!
Этот комментарий был сведен к минимуму модератором на сайте
Дорогая Мишель,
Я выполнил шаги, как вы описали, но код также работал в моем случае. Не подскажешь версию офиса?
Спасибо за ваш комментарий.
Этот комментарий был сведен к минимуму модератором на сайте
Привет. просто немного головы. я использую офис 2007.
Я попробовал ваш код, и хотя он действительно работал, это было не то, что я искал. поэтому я просто полностью удалил код. но последняя выбранная/активная ячейка до того, как я удалил код, по-прежнему зеленая (я изменил цвет с vbYellow на vbGreen), и цвет не исчезнет. на него также не влияет цвет заливки.
самое простое решение, которое я нашел, - просто удалить ячейку. копирование и вставка не будут работать, скопируется и цвет.
просто подумал, что дам вам знать. вы можете найти другое решение/устранение неполадок, помимо удаления и ручного ввода. все равно спасибо! я подтверждаю, что код работает :)
Этот комментарий был сведен к минимуму модератором на сайте
Есть ли способ просто применить это к определенным ячейкам, оставив другие ячейки доступными для ввода чисел?
Этот комментарий был сведен к минимуму модератором на сайте
Я попробовал параметр «Изменить выделенный цвет, когда ячейки выбраны с помощью кода VBA» и сохранил свой Excel как рабочий лист с поддержкой макросов. Теперь последние выбранные ячейки подсвечиваются и не выделяют другие ячейки при выборе. Я удалил код, снова ввел и сохранил, но все равно никаких изменений. Я также не могу удалить предыдущую подсветку. Я в растерянности, что делать.
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
Код хорошо работает в моем случае после сохранения книги в виде книги Excel с поддержкой макросов.
Не подскажете вашу версию Excel?
Этот комментарий был сведен к минимуму модератором на сайте
У меня проблема.
Я хочу изменить цвет одной гиперссылки, если она связана с одним PDF-файлом, на КРАСНЫЙ, а если не имеет ссылки с одним PDF-файлом, будет отображаться СИНИЙ цвет.
Как я могу сделать сейчас?
Этот комментарий был сведен к минимуму модератором на сайте
Добрый день,
Извините, не могу вам в этом помочь. Спасибо за комментарий.
Этот комментарий был сведен к минимуму модератором на сайте
Салам...
sy sudah install kutools, tp kok td muncul tab kutools di layar excel ya? gmn cara mmunculkannya?trimakasih
Этот комментарий был сведен к минимуму модератором на сайте
тд мункул = тидак мункул
Этот комментарий был сведен к минимуму модератором на сайте
тримакасих
Этот комментарий был сведен к минимуму модератором на сайте
Привет, ребята, поэтому я использовал первый код, чтобы изменить цвет ячейки на зеленый/красный при двойном щелчке/щелчке правой кнопкой мыши. Однако я хотел бы, чтобы этот код работал только с определенным диапазоном ячеек, в моем случае D9: P9. может кто-нибудь помочь мне, как это сделать? Я новичок в VBA
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
Приведенный ниже код VBA может оказать вам услугу, попробуйте. Спасибо за ваш комментарий.

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Если (Не Application.Intersect(Target, Me.Range("D9:P9")) Is Nothing) Then
Отмена = True
Цель.Внутренний.Цвет = vbRed
End If
End Sub
Private Sub Worksheet_BeforeRightClick (ByVal Target As Range, Cancel As Boolean)
Если (Не Application.Intersect(Target, Me.Range("D9:P9")) Is Nothing) Then
Отмена = True
Цель.Внутренний.Цвет = vbGreen
End If
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я пытаюсь понять, как изменить цвет ячейки на основе выбора из раскрывающегося списка. Например, ВЫСОКИЙ=красный, СРЕДНИЙ=желтый, НИЗКИЙ=зеленый.

Любые советы, которые вы можете дать, очень ценятся. Благодарю вас
Этот комментарий был сведен к минимуму модератором на сайте
hi
работает решетка, но я хочу, чтобы цвет был только тогда, когда выбрана ячейка, и когда я выбираю что-то еще, первая выбранная ячейка не должна быть окрашена
можете ли вы помочь мне с этим, пожалуйста, спасибо
Этот комментарий был сведен к минимуму модератором на сайте
У меня был точно такой же вопрос! Надеюсь вам кто-нибудь ответит! Причина, по которой я ищу это, заключается в том, что у меня есть электронная таблица, которую я использую ежедневно и помещаю много информации в отдельные ячейки. Становится трудно увидеть значения (визуально они сталкиваются с информацией в других ячейках), и было бы отлично, если бы я мог изменить цвет редактируемой ячейки - только во время ее редактирования. Самое простое решение, которое я могу придумать, - это вернуть значение ячейки к тому, что было до нажатия, но я не знаю, как это сделать.
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо. Отличная работа
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,
возможно ли иметь код для «изменения цвета ячейки при нажатии на нее» таким образом, чтобы он не менял уже отформатированные ячейки другим цветом, пожалуйста?
После применения вашего кода все мое форматирование (цвета) исчезло. Спасибо. Вероника
Этот комментарий был сведен к минимуму модератором на сайте
Код работает, пока я не защищаю рабочий лист. Как только я защитил рабочий лист, поскольку у меня есть условное форматирование заблокированных ячеек, код не будет работать. Как я могу изменить это, чтобы оно работало на заблокированном листе, где пользователь может выбирать разблокированные ячейки?
Этот комментарий был сведен к минимуму модератором на сайте
Как выделить ячейку (с данными), чтобы автоматически выделить другие ячейки (данные, которые связаны с другими данными в предыдущей ячейке) щелчком по ячейке. Могу ли я это сделать. Есть ли способ сделать это?
Этот комментарий был сведен к минимуму модератором на сайте
alguien que me ayude solo quiero que al hacerle click a una celda se ponga de un color y que se mantenga ese color y si le vuelvo hacer click regrese el color original que tenia
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я пытаюсь использовать опцию двойного щелчка, чтобы изменить ячейку на зеленую, но я также хочу, чтобы эта ячейка снова стала без заливки или белой, если я дважды щелкну ее, пока она зеленая. Это возможно? 
Этот комментарий был сведен к минимуму модератором на сайте
Привет, код работал какое-то время, но теперь он больше не работает. Что может быть не так?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Ренс Борбург. В сообщении есть два кода, какой из них вы использовали? Вы получили сообщение об ошибке?
Этот комментарий был сведен к минимуму модератором на сайте
Я попробовал их оба одновременно. После копирования на флешку больше не работает.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Ренс Борбург, я не совсем понимаю, что ты имеешь в виду. Коды следует использовать в окне кода листа, а не в окне модуля. Или вы можете предоставить скриншот окна вашего кода?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я построил панель инструментов с 37 листами, каждый со столом. Все они являются панелями блокировки, потому что они слишком большие, и мне нужно знать номер и имя студента, для которого я ввожу данные. Несмотря на это, мне приходится держать палец в левой части экрана, чтобы определить имена и номера, к которым относятся введенные данные. Итак, мне нужно определить первые две ячейки строки в столбцах «I» и «J».
Код, который я взял из Интернета и не смог изменить для двух ячеек столбцов «I» и «J», был:

Dim lTarget As Range

Private Sub Worksheet_SelectionChange (ByVal Target As Range)

Если Target.Row >= 16 Тогда

Если не lTarget - это ничто, то

lTarget.EntireRow.Interior.ColorIndex = 0
End If

Цель.EntireRow.Interior.Color = 9359529

Установите lTarget = Цель
End If
End Sub

Все таблицы начинаются с разных строк. Этот пример начинается с 16-й строки, но я помещаю код на все страницы и адаптирую его к потребностям конкретного номера строки. 
Я уже пытался изменить код с EntireRow на Range ("I16: J43"), но все ячейки в диапазоне были окрашены цветом кода.
Уже попробуйте другой способ "условного форматирования" с формулой =E($I16<>"";LIN()=CÉL("lin")) в диапазоне $I16:$J43 и в рабочем листе разработчика ", с "Application.Calculate", и это работает. Я меняю 37 рабочих листов, но копирую данные из предыдущего файла в этот новый и заметил, что параметры для вставки «значений» и т. д. исчезают с моей панели инструментов. Код должен выполнять что-то, что, например, щелчок по ячейке, больше не позволяет вставлять ее. Единственным вариантом была вставка с помощью CTRL+V.
Если кто-то может помочь мне с кодом, я удалю VBA «Application.Calculate», чтобы вернуться к доступным параметрам коллажа.
Спасибо за вашу помощь.

Луис Лопес
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL