Изменить цвет фигуры vba excel
В Excel, когда вы вставляете командную кнопку, цвет кнопки по умолчанию серый. Но иногда вам нужно изменить серый цвет на красивый, чтобы сделать рабочий лист более профессиональным. Сегодня я могу представить вам несколько быстрых приемов изменения цвета кнопки в Excel.
Измените цвет кнопки ActiveX Control с изменением свойств
Обычно в Excel есть кнопки двух типов: одна Контроль формы кнопка, а другой элемент управления ActiveX кнопка. Если кнопка является кнопкой управления формой, вы можете просто изменить ее цвет шрифта, но не меняйте цвет фона. Вы просто можете изменить цвет задней части кнопки ActiveX Control. Пожалуйста, сделайте так:
1. Вставьте элемент управления ActiveX кнопку, нажав разработчик > ВставитьИ выберите Кнопка управления под Элементы управления ActiveX раздел, см. снимок экрана:
Внимание: Если разработчик вкладка не отображается на ленте, вы можете нажать Файл > Опция > Настроить ленту, затем проверьте разработчик на правой панели, чтобы отобразить разработчик меню.
2. Затем перетащите мышь, чтобы нарисовать кнопку.
4. Затем закройте диалоговое окно, и цвет вашей командной кнопки будет изменен следующим образом:
5. Наконец, брось Режим проектирования кликнув разработчик > Режим проектирования чтобы кнопка использовалась нормально.
Измените цвет кнопки управления ActiveX с кодом VBA
Как мы видим, Excel предоставляет нам несколько цветов в диалоговом окне «Свойства». С помощью следующего простого кода VBA можно выбрать множество цветов.
1. Вставьте командную кнопку и щелкните правой кнопкой мыши, затем выберите Просмотреть код из контекстного меню см. снимок экрана:
2, Затем Окно Microsoft Visual Basic для приложений отобразится, см. снимок экрана:
3. А затем скопируйте и вставьте этот простой скрипт кода: CommandButton1.BackColor = 12713921 в окно между двумя кодами, см. снимок экрана:
Примечание: В приведенном выше кодовом сценарии CommandButton1 это название вашей кнопки, а номер 12713921 это MS-доступномер, они все переменные, вы можете изменить их по своему усмотрению.
4. Затем нажмите F5 нажмите кнопку для запуска этого кода, и цвет вашей кнопки сразу изменится.
Фигуры или объекты рисования представлены тремя различными объектами:
Объект | Описание |
---|---|
Коллекция форм | Используйте для создания фигур и итерации через все фигуры на заданной таблице. |
Коллекция ShapeRange | Используйте для изменения нескольких фигур так же, как вы работаете с несколькими фигурами в пользовательском интерфейсе. |
Объект Shape | Используйте для формата или изменения одной фигуры. |
Задание свойств для фигуры
Многие параметры форматирования фигур не устанавливаются с помощью свойств, применяемых непосредственно к объекту Shape или ShapeRange. Вместо этого связанные атрибуты фигур группируются во вспомогательных объектах, таких как объект FillFormat, который содержит все свойства, связанные с заливкой фигуры, или объект LinkFormat, который содержит все свойства, являющиеся уникальными для связанных объектов OLE.
Чтобы задать свойства для фигуры, необходимо сначала вернуть объект, представляющий набор соответствующих атрибутов фигуры, а затем задать свойства этого возвращенного объекта. Например, можно использовать свойство Fill, чтобы вернуть объект FillFormat, а затем задать свойство ForeColor объекта FillFormat, чтобы настроить цвет заливки переднего плана для указанной фигуры, как показано в следующем примере.
Применение свойства или метода к нескольким фигурам одновременно
В пользовательском интерфейсе можно выполнить некоторые операции с несколькими выбранными фигурами. например, можно выбрать несколько фигур и сразу установить все их отдельные заполнения. Вы можете выполнять другие операции, выбрав только одну фигуру; например, изменить текст в форме можно только в том случае, если выбрана одна фигура.
В Visual Basic есть два способа применения свойств и методов к наборам фигур. Эти два способа позволяют выполнять все операции, которые можно осуществить с отдельной фигурой, для диапазона фигур независимо от того, можно ли выполнять эту операцию в пользовательском интерфейсе.
Если операция применяется для нескольких выделенных фигур в пользовательском интерфейсе, вы можете выполнить аналогичную операцию в Visual Basic, создав коллекцию ShapeRange, содержащую нужные фигуры, и применив соответствующие свойства и методы непосредственно к коллекции ShapeRange.
Если операция не применяется для нескольких выделенных фигур в пользовательском интерфейсе, вы по-прежнему можете выполнить операцию в Visual Basic, осуществив циклический просмотр коллекции Shapes или коллекции ShapeRange, содержащей нужные фигуры, и применив соответствующие свойства и методы к отдельным объектам Shape в коллекции.
Многие свойства и методы, применяемые к объекту Shape и коллекции ShapeRange, завершаются ошибкой, если применяются к определенным типам фигур. Например, применение свойства TextFrame к фигуре, которая не может содержать текст, приводит к ошибке.
Если вы не уверены в том, что каждая из фигур в коллекции ShapeRange может иметь определенное свойство или метод, примененные к ней, не применяйте свойство или метод к коллекции ShapeRange . Если вы хотите применить одно из этих свойств или методов к коллекции фигур, нужно выполнить циклический просмотр коллекции и протестировать каждую отдельную фигуру, чтобы убедиться в соответствии ее типа перед применением к ней свойства или метода.
Создание коллекции ShapeRange, которая содержит все фигуры на листе
Вы можете создать объект ShapeRange , содержащий все объекты Shape на листе, выбрав фигуры, а затем используя свойство ShapeRange , чтобы вернуть объект ShapeRange , содержащий выбранные фигуры.
В Microsoft Excel аргумент Index не является **** необязательным для свойства Range коллекции Shapes, поэтому без аргумента нельзя использовать это свойство для создания объекта ShapeRange, содержащего все фигуры в коллекции Shapes.
Применение свойства или метода к коллекции ShapeRange
Если вы можете выполнить в пользовательском интерфейсе операцию для нескольких выделенных фигур одновременно, можно выполнить аналогичное программное действие, создав коллекцию ShapeRange и затем применив к ней соответствующие свойства или методы. В следующем примере строится диапазон фигур, содержащий фигуры с именами "Большая звезда" и "Маленькая звезда" myDocument , и применяется к ним заполнение градиента.
Ниже приведены общие руководства по поведению свойств и методов при их применении к коллекции ShapeRange.
Применение метода к коллекции аналогично применению метода к каждому отдельному объекту Shape в этой коллекции.
Настройка значения свойства коллекции аналогична настройке значения свойства каждой отдельной фигуры в этом диапазоне.
Свойство коллекции, возвращающее константу, возвращает значение свойства для отдельной фигуры в коллекции, если все фигуры в коллекции имеют одинаковое значение для этого свойства. Если у фигур в коллекции разные значения свойства, возвращается "смешанная" константа.
Свойство коллекции, возвращающее простой тип данных (например, Long, Single или String), возвращает значение свойства для отдельной фигуры, если все фигуры в коллекции имеют одинаковое значение для этого свойства.
Значение некоторых свойств можно вернуть или установить только в том случае, если в коллекции содержится только одна фигура. Если коллекция содержит несколько фигур, возникает ошибка времени запуска. Обычно это происходит в случае возвращения или настройки свойств, если аналогичные действия в пользовательском интерфейсе возможны только для одной фигуры (такие действия, как изменение текста в фигуре или изменение точек полилинии).
Предшествующие руководства также применяются при настройке свойств фигур, сгруппированных во вспомогательных объектах коллекции ShapeRange, например в объекте FillFormat. Если вторичный объект представляет операции, которые могут выполняться на нескольких выбранных объектах в пользовательском интерфейсе, вы сможете вернуть объект из коллекции ShapeRange и установить его свойства.
Например, вы можете использовать свойство Fill, чтобы вернуть объект FillFormat, представляющий заливки всех фигур в коллекции ShapeRange. Настройка свойств этого объекта FillFormat задает такие же свойства для всех отдельных фигур в коллекции ShapeRange.
Циклический просмотр коллекций Shapes или ShapeRange
Даже если вы не можете выполнить операцию по нескольким фигурам в пользовательском интерфейсе одновременно, выбрав их и затем используя команду, вы можете выполнить эквивалентное действие программным путем циклинга через коллекцию Shape или ShapeRange , которая содержит фигуры, с которых необходимо работать, применяя соответствующие свойства и методы к отдельным объектам Shape в коллекции.
В следующем примере окрашиваются myDocument все фигуры и изменяется цвет переднего плана для каждой фигуры AutoShape.
В следующем примере создается коллекция ShapeRange , которая содержит все выбранные в настоящее время фигуры в активном окне и задает цвет переднего плана для каждой выбранной формы.
Выравнивание, распространение и группировка фигур в ShapeRange
Используйте методы выравнивания и распределения , чтобы расположить набор фигур относительно друг друга или относительно документа, который их содержит.
Используйте метод Group или метод Regroup , чтобы сформировать единую групповую фигуру из набора фигур.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Представляет объект в слое рисования, например autoShape, freeform, объект OLE или изображение.
Примечания
Объект Shape входит в коллекцию Shapes . Коллекция Shapes содержит все фигуры в книге.
Существуют три объекта, которые представляют фигуры: коллекция Shapes , которая представляет все фигуры в книге; коллекция ShapeRange , которая представляет заданный подмножество фигур в книге (например, объект ShapeRange может представлять фигуры одного и четырех в книге, или он может представлять все выбранные фигуры в книге); и объект Shape , который представляет одну фигуру на таблице. Если вы хотите работать с несколькими фигурами одновременно или с фигурами в рамках выбора, используйте коллекцию ShapeRange .
Чтобы вернуться. | Использование. |
---|---|
Объект Shape , который представляет одну из фигур, присоединенных соединитетелем | Свойство BeginConnectedShape или EndConnectedShape объекта ConnectorFormat . |
Вновь созданная бесплатнаяформа | Методы BuildFreeform и AddNodes для определения геометрии новой свободной формы и использования метода ConvertToShape для создания свободной формы и возврата объекта Shape , который ее представляет. |
Объект Shape , представляю который представляет одну фигуру в сгруппивной форме | GroupItems (index), где индекс — это имя фигуры или номер индекса в группе. |
Недавно сформированная группа фигур | Метод Группы или перегруппировки объекта ShapeRange сгруппировать диапазон фигур и вернуть один объект Shape , который представляет только что сформированную группу. После того как группа сформирована, вы можете работать с группой так же, как и с любой другой фигурой. |
Объект Shape , представляю который представляет существующую форму | Формы (индекс), где индекс — это имя фигуры или номер индекса. |
Объект Shape , представляю который представляет фигуру в выборе | Выбор. ShapeRange (index), где индекс — это имя фигуры или номер индекса. |
Пример
В следующем примере горизонтально переворачивается фигура одна и фигура с именем Rectangle 1 на myDocument.
Каждой фигуре назначено имя по умолчанию при добавлении его в коллекцию Shapes . Чтобы дать фигуре более значимое имя, используйте свойство Name . В следующем примере в myDocument добавляется прямоугольник, ему дают имя Красная площадь, а затем задает его цвет переднего плана и стиль строки.
В следующем примере задается заполняемая для первой фигуры в выборе в активном окне, при условии, что в выборе имеется по крайней мере одна фигура.
Методы
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Отличное решение vba.
Можно также использовать условное форматирование для окрашивания фигур.
Установите имя каждой формы в качестве значения ячейки. Используя With Each Shape, установите цвет фигуры в качестве цвета ячейки для всех именованных фигур.
Цвет ячейки можно изменить с помощью условного форматирования на основе числовых значений.
Например, цвет полупрозрачного перекрытия на карте города можно использовать для графического обозначения плотности населения на квартал с помощью градуированной цветовой схемы.
Привет Ясир,
Рад помочь. Скопируйте и вставьте приведенный ниже код VBA в пустое окно модуля.
Sub TestMacro2()
Dim dblHt As Double
Dim rngC As Range
Dim Lngr As Long
Dim dblMargin As Double
Dim lngSR As Long
lngSR = 2 'Строка, с которой начинаются данные
dblMargin = 6 ' Расстояние между фигурами
'При ошибке возобновить дальше
ActiveSheet.Shapes.SelectAll
Selection.Delete
По ошибке GoTo 0
dblHt = Ряды(lngSR).Высота * 4
Для lngr = lngSR To Cells(lngSR, "A").End(xlDown).Row
ActiveSheet.Shapes.AddShape(msoShapeOval, _
Cells(lngSR, "D").Left + ((lngr - lngSR) Mod 4) * dblHt + dblMargin, _
Ячейки(lngSR, "D").Top + Int((lngr - lngSR) / 4) * dblHt + dblMargin, _
dblHt - 2 * dblMargin, _
dblHt - 2 * dblMargin).Выбрать
Selection.Name = "Round" & Cells(lngr, "A").Address
Selection.ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Cells(lngr, "A").Value
С Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).ParagraphFormat
.FirstLineIndent = 0
.Выравнивание = мсоалигнцентр
Конец с
С Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).Font
.Полужирный = мсоИстина
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = мсотемеколортекст1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Заполнить.Прозрачность = 0
.Fill.Solid
.Размер = 12
Конец с
С Selection.ShapeRange.Fill
.видимый = мсоистинный
Если Ячейки(lngr, "A").Значение > 70 Тогда
.ForeColor.RGB = RGB(0, 176, 80)
ElseIf Cells(lngr, "A"). Значение >= 40 Тогда
.ForeColor.RGB = RGB(255, 255, 70)
Еще
.ForeColor.RGB = RGB(255, 0, 0)
End If
.Прозрачность = 0
.Твердый
Конец с
Следующая длинна
Диапазон ("A1"). Выбрать
End Sub
После того, как вы запустите приведенный выше код VBA, вы увидите, что создается несколько фигур, и цвета этих фигур меняются в соответствии с VBA.
Пожалуйста, посмотрите мой скриншот. Надеюсь, это поможет. Хорошего дня.
С уважением,
Мэнди
Спасибо за это, это действительно полезно.
Теперь я хочу использовать его со сводной таблицей на другом листе, который управляет данными на листе с фигурами, которые я хочу изменить. Однако, когда я меняю выбор в сводной таблице, данные на листе с фигурами обновляются, но код не запускается, поэтому фигуры не меняют цвет.
Если я вручную изменяю значения, код запускается, и цвет фигур обновляется.
Вопрос: что мне нужно добавить к приведенному выше коду, чтобы он запускался автоматически?
Как мне заставить частную подпрограмму читать результат вычисления СРЕДНЕГО (C1, C5, C9)?
Sub работает только с числовыми значениями; любые мысли и предложения приветствуются.
Привет, Чезаре, Как дела? Я заметил, что код VBA может работать с вычислением СРЕДНЕГО (число, число. ). Но хитрость в том, что каждый раз, когда вы меняете значения в расчете, вам нужно дважды щелкнуть формулу в ячейке, чтобы VBA снова заработал.
Например, в ячейке A1 после ввода формулы =СРЗНАЧ(C2:D3) VBA работает и соответствующим образом меняет цвет фигуры. Пожалуйста, смотрите скриншот 1. C0.2:D2, возвращаемый результат в ячейке A3 изменяется, но цвет фигуры еще не изменился. В этом случае нам нужно дважды щелкнуть формулу в ячейке A1, чтобы заставить VBA работать. Затем цвет формы будет соответствующим образом изменен. Пожалуйста, смотрите скриншоты 1 и 2.
Привет. отличное решение. но как мне применить его к нескольким фигурам на основе соответствующих значений диапазона ячеек. Заранее большое спасибо за вашу помощь.
Привет Райан,
Рад помочь. Скопируйте и вставьте приведенный ниже код VBA в пустое окно модуля.
Sub TestMacro2()
Dim dblHt As Double
Dim rngC As Range
Dim Lngr As Long
Dim dblMargin As Double
Dim lngSR As Long
lngSR = 2 'Строка, с которой начинаются данные
dblMargin = 6 ' Расстояние между фигурами
'При ошибке возобновить дальше
ActiveSheet.Shapes.SelectAll
Selection.Delete
По ошибке GoTo 0
dblHt = Ряды(lngSR).Высота * 4
Для lngr = lngSR To Cells(lngSR, "A").End(xlDown).Row
ActiveSheet.Shapes.AddShape(msoShapeOval, _
Cells(lngSR, "D").Left + ((lngr - lngSR) Mod 4) * dblHt + dblMargin, _
Ячейки(lngSR, "D").Top + Int((lngr - lngSR) / 4) * dblHt + dblMargin, _
dblHt - 2 * dblMargin, _
dblHt - 2 * dblMargin).Выбрать
Selection.Name = "Round" & Cells(lngr, "A").Address
Selection.ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Cells(lngr, "A").Value
С Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).ParagraphFormat
.FirstLineIndent = 0
.Выравнивание = мсоалигнцентр
Конец с
С Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).Font
.Полужирный = мсоИстина
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = мсотемеколортекст1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Заполнить.Прозрачность = 0
.Fill.Solid
.Размер = 12
Конец с
С Selection.ShapeRange.Fill
.видимый = мсоистинный
Если Ячейки(lngr, "A").Значение > 70 Тогда
.ForeColor.RGB = RGB(0, 176, 80)
ElseIf Cells(lngr, "A"). Значение >= 40 Тогда
.ForeColor.RGB = RGB(255, 255, 70)
Еще
.ForeColor.RGB = RGB(255, 0, 0)
End If
.Прозрачность = 0
.Твердый
Конец с
Следующая длинна
Диапазон ("A1"). Выбрать
End Sub
После того, как вы запустите приведенный выше код VBA, вы увидите, что создается несколько фигур, и цвета этих фигур меняются в соответствии с VBA.
Пожалуйста, посмотрите мой скриншот. Надеюсь, это поможет. Хорошего дня.
С уважением,
Мэнди
¿Cómo hacemos си tenemos más де 1 Овал en la hoja де trabajo cuyos colores cambian де acuerdo кон эль доблесть ingresado, por ejemplo, en A1, B1, C1. Mil gracias por su ayuda!
Здравствуйте Мария Ноэль,
Рад помочь. Скопируйте и вставьте приведенный ниже код VBA в пустое окно модуля.
Sub TestMacro2()
Dim dblHt As Double
Dim rngC As Range
Dim Lngr As Long
Dim dblMargin As Double
Dim lngSR As Long
lngSR = 2 'Строка, с которой начинаются данные
dblMargin = 6 ' Расстояние между фигурами
'При ошибке возобновить дальше
ActiveSheet.Shapes.SelectAll
Selection.Delete
По ошибке GoTo 0
dblHt = Ряды(lngSR).Высота * 4
Для lngr = lngSR To Cells(lngSR, "A").End(xlDown).Row
ActiveSheet.Shapes.AddShape(msoShapeOval, _
Cells(lngSR, "D").Left + ((lngr - lngSR) Mod 4) * dblHt + dblMargin, _
Ячейки(lngSR, "D").Top + Int((lngr - lngSR) / 4) * dblHt + dblMargin, _
dblHt - 2 * dblMargin, _
dblHt - 2 * dblMargin).Выбрать
Selection.Name = "Round" & Cells(lngr, "A").Address
Selection.ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Cells(lngr, "A").Value
С Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).ParagraphFormat
.FirstLineIndent = 0
.Выравнивание = мсоалигнцентр
Конец с
С Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).Font
.Полужирный = мсоИстина
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = мсотемеколортекст1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Заполнить.Прозрачность = 0
.Fill.Solid
.Размер = 12
Конец с
С Selection.ShapeRange.Fill
.видимый = мсоистинный
Если Ячейки(lngr, "A").Значение > 70 Тогда
.ForeColor.RGB = RGB(0, 176, 80)
ElseIf Cells(lngr, "A"). Значение >= 40 Тогда
.ForeColor.RGB = RGB(255, 255, 70)
Еще
.ForeColor.RGB = RGB(255, 0, 0)
End If
.Прозрачность = 0
.Твердый
Конец с
Следующая длинна
Диапазон ("A1"). Выбрать
End Sub
После того, как вы запустите приведенный выше код VBA, вы увидите, что создается несколько фигур, и цвета этих фигур меняются в соответствии с VBA.
Пожалуйста, посмотрите мой скриншот. Надеюсь, это поможет. Хорошего дня.
С уважением,
Мэнди
В этой статье будут показаны некоторые методы изменения цвета ячейки при нажатии на ячейку и изменение выделенного цвета при выборе диапазона ячеек в 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», чтобы вернуться к доступным параметрам коллажа.
Спасибо за вашу помощь.
Читайте также: