Заливка ячеек по клику в excel
Работая с таблицами, пользователи уделяют первоочередное значение вводимым данным, порой забывая о внешнем виде документа. Это является явным упущением, ведь красиво оформленная таблица необходима не только для лучшего эстетического восприятия, но и чтобы понять и уловить некоторые нюансы в документе. Далее разберем некоторые инструменты визуализации для заливки ячеек, и как ими пользоваться.
Заливка ячеек в Excel: основные способы
Заливка ячеек цветом, в зависимости от внутреннего содержания, облегчает процесс работы и распознавания нужной информации. Особенно актуален этот прием при работе с большими таблицами, которые содержат множество данных, нуждающихся в сортировке. Из этого следует, что заливка цветом помогает структурировать готовый документ на важные составляющие.
Оформляя документы незначительных размеров, можно воспользоваться ручным способом окрашивания ячеек. Если же требуется структурировать таблицу, занимающую весь лист или даже больше, то удобнее воспользоваться специальными инструментами. Даже если найдутся отважные пользователи, которые захотят выполнить всю работу вручную, велика вероятность, что в документе будет допущена ошибка. Специально для облегчения таких задач в Excel предусмотрена заливка ячеек цветом. Как это сделать, рассмотрим далее.
Способ №1: обычная заливка цветом
Для выполнения этой задачи нам понадобится инструмент для изменения формата ячеек. Для этого следуем представленной инструкции:
- Для начала определите ячейку, в которой будет производиться заливка цветом и активируйте ее нажатием ЛКМ. Возможно это будет сразу несколько ячеек.
- В панели инструментов «Главная» отыскиваем блок «Шрифт». Дальнейшие действия могут выполняться одним из предложенных способов:
- Для заполнения цветом ячейки используйте инструмент «Цвет заливки», представленный в виде ведерка, выполняющего заливку. Кликнув по пиктограмме с треугольником откройте диалоговое окно, где выберите необходимый цвет.
- Если не удалось подобрать цвет нужного тонового оттенка, то воспользуйтесь функцией «Другие цвета». В открывшемся окне выберите один из способов выбора цвета: по представленной сотовой схеме или же в спектре. Второй вариант дает возможность подобрать более точный тон.
- Кнопка «Цвет заливки» сохраняет последний выбор. Поэтому, если планируется использовать заливку одним цветом в нескольких местах, то после активации нужной ячейки можно нажать на кнопку, не открывая дополнительных окон.
Примечание от эксперта! Excel сохраняет последние 10 выбранных цветов, которые можно найти, активировав пиктограмму рядом с кнопкой «Цвет заливки». В окне данная функциональная строка подписана как «Последние цвета».
Способ №2: заливка цветным узором
Чтобы оформление таблицы Excel не выглядело таким скучным и однотонным, можно разнообразить заливку, добавив в нее узоры. Рассмотрим процесс выполнения задачи:
- Выделяем одну или несколько ячеек, в которых необходимо разместить цветной узор.
- Во вкладке «Главная» отыскиваем блок «Шрифт» и щелкаем по кнопке «Формат ячеек», расположенной в правом нижнем углу и представленной в виде диагональной стрелочки, указывающей на угол.
Совет эксперта! Чтобы облегчить процесс открытия окна с настройками цветов, воспользуйтесь сочетанием клавиш «Ctrl + Shift + F».
- В открывшемся окне переходим к вкладке «Заливка», где в группе «Цвет фона» выбираем необходимый тон заливки.
- Далее выполните одно из следующих действий:
- Для того чтобы выполнить заливку двумя цветами, используя узор, перейдите в поле «Цвет узора» и выберите необходимые цвета. После чего перейдите в поле «Узор» и определите стиль оформления.
- Для использования спецэффектов нужно перейти по ссылке «Способы заливки» и выбрать необходимые параметры. Если выбранные параметры устраивают, нажимаем кнопку «ОК».
Способ №3 Заливка ячейки с использованием горячих клавиш
Данный способ можно использовать, если ранее было произведено выделение ячейки цветом и после этого не выполнялось никаких других действий. Процесс выполнения действий: выделите ячейки, нуждающиеся в корректировке, и нажмите клавиши «Ctrl + Y».
Если была произведена заливка, и после этого выполнялось хотя бы одно действие, то данный способ работать не будет, так как предложенное сочетание клавиш основано на выполнении последних действий, являясь своеобразным буфером обмена.
Способ №4 Создание макроса
Данный метод требует наличия специальной программы макрорекордер, в которой, владея определенными навыками, можно создавать макросы для выполнения различных действий. На рисунке можно увидеть пример кода для созданного макроса.
8
Удаление заливки ячейки
Если возникла необходимость удалить ранее выполненную заливку ячейки, то воспользуйтесь ниже приведенной инструкцией:
- Выделите ячейки, залитые цветом или цветным узором, нуждающиеся в корректировке.
- На вкладке «Главная» перейдите к блоку «Шрифт». Щелкните по пиктограмме со стрелочкой и откройте диалоговое окно. Спуститесь до значения «нет заливки» и активируйте его нажатием ЛКМ.
Заключение
Существует несколько способов заливки ячейки цветом. Каждый из них имеет свои преимущества и недостатки. В каких-то ситуациях приемлемо использовать первый, более быстрый способ заливки, в других нужно уделить особое внимание оформлению, тогда пригодится дополнение узорами.
Подпишитесь к нам в дзен-канал, для получения свежих новостей it мира:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.Interior
Select Case .ColorIndex
Case xlNone: .ColorIndex = 1
Case 1: .ColorIndex = 2
Case 2: .ColorIndex = 3
Case 3: .ColorIndex = 4
Case 4: .ColorIndex = 5
Case 5: .ColorIndex = 6
Case 6: .ColorIndex = 7
Case 7: .ColorIndex = 8
Case 8: .ColorIndex = 9
Case Else: .ColorIndex = xlNone
End Select
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.Interior
Select Case .Color
Case vbWhite: .Color = vbBlack
Case vbBlack: .Color = vbRed
Case vbRed: .Color = vbGreen
Case vbGreen: .Color = vbYellow
Case vbYellow: .Color = vbBlue
Case vbBlue: .Color = vbMagenta
Case vbMagenta: .Color = vbCyan
Case vbCyan: .Color = vbWhite
Case Else: .Color = vbWhite
End Select
End With
End Sub
[/vba]но вообще-то это и в самом деле маразм так цвета определять.
По-хорошему надо либо цвета в нужном порядке в Public-словарь загнать и оттуда считывать, либо (если устраивает встроенный порядок следования) просто в цикле .Colorindex = .Colorindex +1 устанавливать цвета.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.Interior
Select Case .ColorIndex
Case xlNone: .ColorIndex = 1
Case 1: .ColorIndex = 2
Case 2: .ColorIndex = 3
Case 3: .ColorIndex = 4
Case 4: .ColorIndex = 5
Case 5: .ColorIndex = 6
Case 6: .ColorIndex = 7
Case 7: .ColorIndex = 8
Case 8: .ColorIndex = 9
Case Else: .ColorIndex = xlNone
End Select
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.Interior
Select Case .Color
Case vbWhite: .Color = vbBlack
Case vbBlack: .Color = vbRed
Case vbRed: .Color = vbGreen
Case vbGreen: .Color = vbYellow
Case vbYellow: .Color = vbBlue
Case vbBlue: .Color = vbMagenta
Case vbMagenta: .Color = vbCyan
Case vbCyan: .Color = vbWhite
Case Else: .Color = vbWhite
End Select
End With
End Sub
[/vba]но вообще-то это и в самом деле маразм так цвета определять.
По-хорошему надо либо цвета в нужном порядке в Public-словарь загнать и оттуда считывать, либо (если устраивает встроенный порядок следования) просто в цикле .Colorindex = .Colorindex +1 устанавливать цвета. Alex_ST
С уважением,
Алексей
MS Excel 2003 - the best.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.Interior
Select Case .ColorIndex
Case xlNone: .ColorIndex = 1
Case 1: .ColorIndex = 2
Case 2: .ColorIndex = 3
Case 3: .ColorIndex = 4
Case 4: .ColorIndex = 5
Case 5: .ColorIndex = 6
Case 6: .ColorIndex = 7
Case 7: .ColorIndex = 8
Case 8: .ColorIndex = 9
Case Else: .ColorIndex = xlNone
End Select
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.Interior
Select Case .Color
Case vbWhite: .Color = vbBlack
Case vbBlack: .Color = vbRed
Case vbRed: .Color = vbGreen
Case vbGreen: .Color = vbYellow
Case vbYellow: .Color = vbBlue
Case vbBlue: .Color = vbMagenta
Case vbMagenta: .Color = vbCyan
Case vbCyan: .Color = vbWhite
Case Else: .Color = vbWhite
End Select
End With
End Sub
[/vba]но вообще-то это и в самом деле маразм так цвета определять.
По-хорошему надо либо цвета в нужном порядке в Public-словарь загнать и оттуда считывать, либо (если устраивает встроенный порядок следования) просто в цикле .Colorindex = .Colorindex +1 устанавливать цвета. Автор - Alex_ST
Дата добавления - 04.05.2014 в 22:15
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.ActiveCell
Select Case .ActiveCell
Case 1: .ActiveCell = "Кот"
Case 2: .ActiveCell = "Сметана"
Case 3: .ActiveCell = "Рыба"
Case Else: .ActiveCell.Value = xlNone
End Select
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.ActiveCell
Select Case .ActiveCell
Case 1: .ActiveCell = "Кот"
Case 2: .ActiveCell = "Сметана"
Case 3: .ActiveCell = "Рыба"
Case Else: .ActiveCell.Value = xlNone
End Select
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target.ActiveCell
Select Case .ActiveCell
Case 1: .ActiveCell = "Кот"
Case 2: .ActiveCell = "Сметана"
Case 3: .ActiveCell = "Рыба"
Case Else: .ActiveCell.Value = xlNone
End Select
End With
End Sub
Если принцип (алгоритм) написания кода - он простой. Берем шило, меняем на мыло. Способов масса. В т.ч и тот, что вы выложили.
А вот принцип, по которому определяется, какое шило на какое мыло менять - сие есть ваша большая тайна.
Если принцип (алгоритм) написания кода - он простой. Берем шило, меняем на мыло. Способов масса. В т.ч и тот, что вы выложили.
А вот принцип, по которому определяется, какое шило на какое мыло менять - сие есть ваша большая тайна. RAN
Если принцип (алгоритм) написания кода - он простой. Берем шило, меняем на мыло. Способов масса. В т.ч и тот, что вы выложили.
А вот принцип, по которому определяется, какое шило на какое мыло менять - сие есть ваша большая тайна. Автор - RAN
Дата добавления - 05.05.2014 в 14:43
ant6729,
1. В обработчике события Worksheet_BeforeDoubleClick Target.ActiveCell - это "масло масляное", т.к. при даблклике ячейка не активной быть не может.
2. Вы с использованием декларации With — End With всё-таки познакомились бы
с чего это вдруг после объявления With Target.ActiveCell у Вас появляется .ActiveCell ?
Свойством умолчанию у ActiveCell является Value
3. С чего это вдруг у Вас в Case Else: ActiveCell пытается присвоиться Value = xlNone - это же константа Excel'я - цифра -4142, соответствующая отсутствию заливки ячейки.
4. Вообще-то коты, рыба и сметана никакого отношения к теме "Заливка ячеек по двойному клику не имеют", т.к. это не цвета. так что здесь это оффтоп. А для учёбы есть другие разделы форума.
Чтобы закончить урок по раскрашиванию котов всё-таки отвечу на оффтопный вопрос:
[vba]
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target
Select Case .Value
Case "Рыба": .Value = "Кот"
Case "Кот": .Value = "Сметана"
Case "Сметана": .Value = "Рыба"
Case Else: .Value = "Кот"
End Select
End With
End Sub
ant6729,
1. В обработчике события Worksheet_BeforeDoubleClick Target.ActiveCell - это "масло масляное", т.к. при даблклике ячейка не активной быть не может.
2. Вы с использованием декларации With — End With всё-таки познакомились бы
с чего это вдруг после объявления With Target.ActiveCell у Вас появляется .ActiveCell ?
Свойством умолчанию у ActiveCell является Value
3. С чего это вдруг у Вас в Case Else: ActiveCell пытается присвоиться Value = xlNone - это же константа Excel'я - цифра -4142, соответствующая отсутствию заливки ячейки.
4. Вообще-то коты, рыба и сметана никакого отношения к теме "Заливка ячеек по двойному клику не имеют", т.к. это не цвета. так что здесь это оффтоп. А для учёбы есть другие разделы форума.
Чтобы закончить урок по раскрашиванию котов всё-таки отвечу на оффтопный вопрос:
[vba]
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target
Select Case .Value
Case "Рыба": .Value = "Кот"
Case "Кот": .Value = "Сметана"
Case "Сметана": .Value = "Рыба"
Case Else: .Value = "Кот"
End Select
End With
End Sub
Чтобы закончить урок по раскрашиванию котов всё-таки отвечу на оффтопный вопрос:
[vba]
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target
Select Case .Value
Case "Рыба": .Value = "Кот"
Case "Кот": .Value = "Сметана"
Case "Сметана": .Value = "Рыба"
Case Else: .Value = "Кот"
End Select
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
colors = Array(vbWhite, vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan, vbWhite)
Cancel = True
With Target.Interior
For i = 0 To UBound(colors)
If .Color = colors(i) Then
.Color = colors(i + 1)
Exit For
ElseIf i = UBound(colors) Then .Color = colors(0)
End If
Next
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Words = Array("Рыба", "Кот", "Сметана", "Рыба")
Cancel = True
With Target
For i = 0 To UBound(Words)
If .Value = Words(i) Then
.Value = Words(i + 1)
Exit For
ElseIf i = UBound(Words) Then .Value = Words(1)
End If
Next
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
colors = Array(vbWhite, vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan, vbWhite)
Cancel = True
With Target.Interior
For i = 0 To UBound(colors)
If .Color = colors(i) Then
.Color = colors(i + 1)
Exit For
ElseIf i = UBound(colors) Then .Color = colors(0)
End If
Next
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Words = Array("Рыба", "Кот", "Сметана", "Рыба")
Cancel = True
With Target
For i = 0 To UBound(Words)
If .Value = Words(i) Then
.Value = Words(i + 1)
Exit For
ElseIf i = UBound(Words) Then .Value = Words(1)
End If
Next
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
colors = Array(vbWhite, vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan, vbWhite)
Cancel = True
With Target.Interior
For i = 0 To UBound(colors)
If .Color = colors(i) Then
.Color = colors(i + 1)
Exit For
ElseIf i = UBound(colors) Then .Color = colors(0)
End If
Next
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Words = Array("Рыба", "Кот", "Сметана", "Рыба")
Cancel = True
With Target
For i = 0 To UBound(Words)
If .Value = Words(i) Then
.Value = Words(i + 1)
Exit For
ElseIf i = UBound(Words) Then .Value = Words(1)
End If
Next
End With
End Sub
Но, судя по уровню владения VBA топик-стартера, говорить про циклы, массивы, а тем более - словари, не стоило
Но, судя по уровню владения VBA топик-стартера, говорить про циклы, массивы, а тем более - словари, не стоило Alex_ST
Но, судя по уровню владения VBA топик-стартера, говорить про циклы, массивы, а тем более - словари, не стоило Автор - Alex_ST
Дата добавления - 05.05.2014 в 20:40
Alex_ST, о том самом
Просто я исходя из уровня владения VBA топик-стартера решил все-таки написать пример реализации предложенного вами алгоритма, к тому же при использовании цикла в решении этой задачи есть пара нюансов, которые могут ввести в ступор новичка в программировании. В данном случае это невозможность использования обычного Else и необходимость выхода из цикла при срабатывании условия. Ну вот как-то так .
ant6729, я бы вам посоветовал для начала изучить синтаксис основных конструкций vba, типы данных и объектную модель excel (с общими сведениями объектной модели можно ознакомится по ссылке), на форуме есть раздел, где можно скачать справочники по excel и vba.
Alex_ST, о том самом
Просто я исходя из уровня владения VBA топик-стартера решил все-таки написать пример реализации предложенного вами алгоритма, к тому же при использовании цикла в решении этой задачи есть пара нюансов, которые могут ввести в ступор новичка в программировании. В данном случае это невозможность использования обычного Else и необходимость выхода из цикла при срабатывании условия. Ну вот как-то так .
ant6729, я бы вам посоветовал для начала изучить синтаксис основных конструкций vba, типы данных и объектную модель excel (с общими сведениями объектной модели можно ознакомится по ссылке), на форуме есть раздел, где можно скачать справочники по excel и vba. krosav4ig
ant6729, я бы вам посоветовал для начала изучить синтаксис основных конструкций vba, типы данных и объектную модель excel (с общими сведениями объектной модели можно ознакомится по ссылке), на форуме есть раздел, где можно скачать справочники по excel и vba. Автор - krosav4ig
Дата добавления - 06.05.2014 в 15:47
Ну, чему я в первую очередь всегда пытаюсь научить новичков, так это использовать Option Explicit в случае если они в самом деле новички, а не "зубры" и хотят быть более-менее уверены в точности результатов работы макросов.
Ну, чему я в первую очередь всегда пытаюсь научить новичков, так это использовать Option Explicit в случае если они в самом деле новички, а не "зубры" и хотят быть более-менее уверены в точности результатов работы макросов. Alex_ST
С уважением,
Алексей
MS Excel 2003 - the best.
В этой статье будут показаны некоторые методы изменения цвета ячейки при нажатии на ячейку и изменение выделенного цвета при выборе диапазона ячеек в Excel.
Изменить цвет ячейки при нажатии на ячейку с кодом VBA
Здесь вы можете изменить цвет фона ячейки, дважды щелкнув по ней или щелкнув правой кнопкой мыши с помощью следующего кода VBA.
1. На рабочем листе вы измените цвет ячейки при нажатии на нее, щелкните правой кнопкой мыши вкладку листа и нажмите Просмотреть код из контекстного меню.
2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.
VBA: изменить цвет ячейки при нажатии на нее
3. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
Затем, когда вы дважды щелкните ячейку, она будет окрашена в красный цвет. И когда вы щелкаете правой кнопкой мыши по ячейке, она будет окрашена в зеленый цвет. Смотрите скриншот:
Один щелчок, чтобы выделить строку и столбец выбранной ячейки в Excel:
Kutools for Excel's Макет для чтения Утилита помогает быстро выделить строку и столбец выбранной ячейки в Excel, как показано в демонстрации ниже.
Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная трасса)
Измените выделенный цвет, когда ячейки выбраны с помощью кода VBA
По умолчанию при выборе диапазона ячеек выделяется серый цвет. Если вы хотите сделать выбранный диапазон более заметным, вы можете изменить его цвет выделения на тот, который вам нужен. Пожалуйста, сделайте следующее.
1. Щелкните правой кнопкой мыши вкладку листа, для которой нужно изменить цвет выделения выбранного диапазона, и щелкните Просмотреть код из контекстного меню.
2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.
Код VBA: изменить выделенный цвет выбранного диапазона
3. Нажмите другой + Q ключи одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
С этого момента цвет выделенного диапазона или ячейки изменится на желтый. Когда вы щелкаете другую ячейку или диапазон ячеек, ячейки будут раскрашены автоматически.
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel
Если вы имеете дело с большим листом, необходимо выделить всю строку и столбец активной ячейки, чтобы облегчить чтение. Здесь Макет для чтения полезности Kutools for Excel могу помочь тебе.
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Нажмите Кутулс > Макет для чтения. Смотрите скриншот:
Когда макет чтения включен, вы можете видеть, что строка и столбец активной ячейки сразу выделяются.
Внимание: Вы можете изменить настройки макета чтения в зависимости от ваших потребностей, как показано на скриншоте ниже.
Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Office Tab - Tabbed Browsing, Editing, and Managing of Workbooks in Excel:
Office Tab brings the tabbed interface as seen in web browsers such as Google Chrome, Internet Explorer new versions and Firefox to Microsoft Excel. It will be a time-saving tool and irreplaceble in your work. See below demo:
Выделите всю строку и столбец активной ячейки с помощью Kutools for Excel
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма .
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон .
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы . Предотвращение дублирования ячеек; Сравнить диапазоны .
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор .
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули , Флажки и многое другое .
- Извлечь текст , Добавить текст, Удалить по позиции, Удалить пробел ; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии .
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом .
- Комбинируйте книги и рабочие листы ; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов ; Пакетное преобразование xls, xlsx и PDF . Pivot Table Grouping by week number, day of week and more. Show Unlocked, Locked Cells by different colors; Highlight Cells That Have Formula/Name . -->
- Более 300 мощных функций . Поддерживает Office / Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint , Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Дорогая Мишель,
Я выполнил шаги, как вы описали, но код также работал в моем случае. Не подскажешь версию офиса?
Спасибо за ваш комментарий.
Привет. просто немного головы. я использую офис 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
Установите 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», чтобы вернуться к доступным параметрам коллажа.
Спасибо за вашу помощь.
Как случайным образом добавить цвет фона / заливки для ячеек в Excel?
Допустим, вам нужно случайным образом добавить фон или цвет заливки для ячеек в указанном диапазоне, как это решить? В этой статье представлены два способа сделать это легко.
Kutools для Excel Вставить случайные данные Утилита позволяет пользователям Excel случайным образом вставлять значения из указанного списка или столбца в Excel. Полнофункциональная бесплатная 30-дневная пробная версия!
Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу .
- Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
- Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
- Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
- Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Случайно добавить цвет фона / заливки для ячеек с VBA
Следующий код макроса VBA может помочь вам добавить фон или цвет заливки для каждой ячейки в определенном диапазоне со случайными цветами. Вы можете сделать следующее:
Шаг 1: нажмите другой + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.
Шаг 2. Нажмите «Вставить»> «Модуль», а затем вставьте следующий код VBA в открывающееся окно «Модуль».
VBA: добавить фон или цвет заливки для ячеек со случайным цветом
Шаг 3: нажмите F5 ключ или щелкните Run кнопку, чтобы запустить этот макрос VBA.
Шаг 4: Теперь появляется диалоговое окно, просто выберите диапазон, в который вы хотите добавить фон со случайными цветами, а затем нажмите OK кнопку.
Теперь вы увидите, что все ячейки в указанном диапазоне случайным образом заполняются разными цветами. См. Снимок экрана ниже:
Случайно добавить цвет фона / заливки для ячеек с помощью Kutools for Excel
В некоторых случаях может потребоваться добавить цвет фона к случайно выбранным ячейкам в указанном диапазоне. Чтобы это сделать, вы можете попробовать Kutools for Excel's Сортировка диапазона случайным образом утилиту, а затем добавьте цвет фона для этих случайных ячеек.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!
Kutools for Excel - Combines more than 300 Advanced Functions and Tools for Microsoft Excel
Шаг 1. Выберите диапазон, в котором вы хотите случайным образом находить ячейки, и добавьте цвет фона.
Шаг 2: нажмите Кутулс > Диапазон > Сортировка диапазона случайным образом.
Шаг 3. В открывшемся диалоговом окне «Диапазон сортировки в случайном порядке» перейдите к Выберите на вкладке введите число в Количество ячеек для выбора коробка, отметьте Выбрать случайные ячейки и нажмите OK кнопка. См. Снимок экрана ниже:
Шаг 4: Теперь указанное количество ячеек выбирается случайным образом в указанном диапазоне. Затем нажмите кнопку стрелка Кроме того, Цвет заливки Кнопка на Главная вкладка и выберите цвет фона из раскрывающегося списка.
Теперь вы увидите, что цвет фона добавляется к случайно выбранным ячейкам, как показано ниже:
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Демо: случайным образом добавьте цвет фона / заливки для ячеек с помощью Kutools for Excel
Знаете ли вы, используя Microsoft Excel, как автоматически связать цвет ячейки с другим? Эта статья покажет вам, как этого добиться.
Автоматически связывать цвет ячейки с другим с помощью кода VBA
Предположим, вы хотите связать цвет заливки ячейки A1 с C1, при изменении цвета заливки A1 цвет C1 автоматически изменится на тот же. Пожалуйста, сделайте следующее.
1. Щелкните правой кнопкой мыши вкладку листа, в которой необходимо связать цвет ячейки с другим цветом, а затем щелкните Просмотреть код из контекстного меню.
2. В дебюте Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в Код: окно.
Код VBA: автоматическая привязка цвета ячейки к другому в Excel
Внимание: вы можете изменить ссылку на ячейки в коде по своему усмотрению.
3. Продолжайте нажимать другой + Q ключи одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
С этого момента при изменении цвета заливки ячейки A1 цвет заливки ячейки C1 будет автоматически изменен на тот же цвет.
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма .
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон .
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы . Предотвращение дублирования ячеек; Сравнить диапазоны .
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор .
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули , Флажки и многое другое .
- Извлечь текст , Добавить текст, Удалить по позиции, Удалить пробел ; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии .
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом .
- Комбинируйте книги и рабочие листы ; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов ; Пакетное преобразование xls, xlsx и PDF . Pivot Table Grouping by week number, day of week and more. Show Unlocked, Locked Cells by different colors; Highlight Cells That Have Formula/Name . -->
- Более 300 мощных функций . Поддерживает Office / Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint , Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
да, я хотел бы знать, как отразить цвет на другом листе. У меня есть формула в обоих полях, но я хотел бы, чтобы цвет одного из них отражал цвет на основном листе, когда он меняется. т. е. лист с датами обучения составляется через 30 дней, и поле становится красным; соответствующее поле на основном листе, поле с «X» также становится красным.
Привет Марио,
Предположим, вы хотите связать цвет ячейки A1 на текущем листе с диапазоном B1: J19 на листе 2, примените приведенный ниже код VBA. После изменения цвета заливки A1 щелкните другую ячейку на текущем листе, чтобы активировать код.
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg как диапазон
Dim xStrAddress как строка
xStrAddress = "Лист2!$B$1:$J$19"
Установите xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
End Sub
Это сработало. Как это будет работать, если у вас есть изменения A1 на Sheet1, которые происходят с B1 на Sheet2, но также изменения A2 на Sheet1 происходят с B2 на Sheet2?
Привет Может ли кто-нибудь помочь с вышеуказанным вопросом как можно скорее, я очень нуждаюсь в этом, и у меня мало времени.
Здравствуйте,
Приведенный ниже код VBA может помочь вам решить проблему. Спасибо за ваш комментарий.
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg как диапазон
Dim xStrAddress как строка
xStrAddress = "Лист2!$B$1"
Установите xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
xStrAddress = "Лист2!$B$2"
Установите xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A2").Interior.Color
xStrAddress = "Лист2!$B$3"
Установите xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A3").Interior.Color
End Sub
К сожалению, это не сработало для меня. Мне интересно, потому что исходная ячейка представляет собой список с правилом условного форматирования для изменения цвета фона в зависимости от того, какой параметр выбран в списке.
Привет Аманда,
Этот код не работает для цвета заливки, назначенного правилом условного форматирования. Приносим извинения за доставленные неудобства.
Можно ли связать цвет из одного диапазона на одном листе с другим диапазоном того же размера на другом листе? Например, у меня чередуются цвета через каждые пару строк, и я хочу, чтобы эта цветовая схема копировалась на другой лист.
Привет Чарльз,
Приведенный ниже код может оказать вам услугу. Если вы хотите связать цвет из диапазона A1: A19 на Листе 1 с тем же диапазоном «A1: A19» на Листе 2, скопируйте код в окно «Код» Листа 1, после чего щелкните любую ячейку на Листе 1, чтобы активировать код. Надеюсь, я смогу помочь. Спасибо за ваш комментарий.
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg как диапазон
Dim xStrAddress как строка
xStrAddress = "Лист2!$A$1:$A$19"
Установите xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1:A19").Interior.Color
End Sub
Здравствуйте,
этот код работает, если я ссылаюсь на одну ячейку, но если я ввожу диапазон, диапазон на листе 2 становится черным вместо того, чтобы справляться с внутренним цветом.
есть идеи, почему это может происходить?
Привет, Джо,
Извините за ошибку. Попробуйте этот код:
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg как диапазон
Dim xCRg как диапазон
Dim xStrAddress как строка
Dim xFNum как целое число
xStrAddress = "Лист2!$A$1:$A$10"
Установите xRg = Application.Range(xStrAddress)
Установите xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Для xFNum = 1 To xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Далее
End Sub
Привет, Кристалл!
Как будет выглядеть один и тот же код, если я хочу, чтобы он одновременно копировался и на Лист2, и на Лист3?
это не работает для меня. диапазон ячеек может не совпадать на обоих листах. Можете ли вы помочь советом, что делать или как настроить код, пожалуйста?
Привет ЛГ,
Есть две строки, которые вы можете изменить: диапазон "$А$1:$А$10" восьмой строки и "Лист2!$A$1:$A$10" шестой строки, которые указывают, что вы свяжете цвет заливки диапазона A1: A10 на рабочем листе (предположим, Лист1, и код должен быть добавлен в это окно кода листа) в тот же диапазон в Sheet2.
Вы можете указать два разных диапазона по мере необходимости. И, пожалуйста, убедитесь, что имя листа, которое вы вводите в шестой строке, является существующим именем листа.
Я использую это для создания узоров плетения. Я хотел бы иметь несколько наборов групп, поэтому мне нужно изменить только одну ячейку, чтобы увидеть, что произойдет в моем шаблоне. Он работал от ячейки a1 до c1, но когда я попытался добавить новый набор a2 в c1, этого не произошло. Я могу неправильно понять, но я скопировал ту же формулу под первой и изменил ссылки на ячейки. В этом проблема? Есть ли другой способ?
Это сработало для меня при вставке ссылки на второй лист, но мне пришлось внести модификацию, я покажу модификацию ниже, чтобы вы могли увидеть первую версию Crystal, а затем мою с модификацией, которая работала, когда мне нужно было включить два набора вместо этого. одного. Это то, что Кристал дал Джоуи после того, как он сказал, что целевая дальность стала черной, когда он попробовал это:
Private Sub Worksheet_SelectionChange (Цель ByVal как диапазон)
Dim xRg как диапазон
Dim xCRg как диапазон
Dim xStrAddress как строка
Dim xFNum как целое число
xStrAddress = "Лист2!$A$1:$A$10"
Установите xRg = Application.Range(xStrAddress)
Установите xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Для xFNum = 1 To xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Далее
Конец сабвуфера
Мой мод, который работал для включения двух наборов (например, ссылок на разные столбцы или строки или что у вас есть), должен был включать эту часть:
При ошибке Возобновить Далее
Для xFNum = 1 To xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Следующий
после каждого моего "сета"
Итак, без изменения наборов образцов, которые дал Crystal, чтобы они отличались друг от друга (что, вероятно, будет вашим, если вы пытаетесь ссылаться на разные строки и т. д.), это будет выглядеть так:
Private Sub Worksheet_SelectionChange (Цель ByVal как диапазон)
Dim xRg как диапазон
Dim xCRg как диапазон
Dim xStrAddress как строка
Dim xFNum как целое число
xStrAddress = "Лист2!$A$1:$A$10"
Установите xRg = Application.Range(xStrAddress)
Установите xCRg = Me.Range("$A$1:$A$10") При ошибке Возобновить Далее
Для xFNum = 1 To xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Далее
xStrAddress = "Лист2!$A$1:$A$10"
Установите xRg = Application.Range(xStrAddress)
Установите xCRg = Me.Range("$A$1:$A$10")
On Error Resume Next
Для xFNum = 1 To xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
Далее
End Sub
со строками 6-8 и 13-15, являющимися "наборами" а строки 9-12 и 16-19 представляют собой код, который должен повторяться после каждого сета.
Я надеюсь, что это имеет смысл, потому что я ничего не знаю об этом, я просто нашел способ скопировать то, что было здесь перечислено, и это сработало. В первый раз, когда я попытался иметь два набора, подключившись к коду как есть, первый набор сделал ячейки черными, а второй набор сработал и окрасил целевые ячейки в правильный цвет. Я, наконец, понял, что для работы каждому набору нужен код строки 9-12 после него. Этот мод позволял (в моем случае) переносить соответствующие цвета из двух разных столбцов на исходном листе в соответствующие ячейки в заданном диапазоне на целевом листе.
Читайте также: