Здравствуйте уважаемые форумчане. Возник следующий вопрос Как средствами vba вернуть автоматическую раскраску диаграммы (графика и т.д.) ?
Если ручками (мышками) включить радиокнопку "Автовыбор" в настройках "Формата ряда данных" > "Заливка" , Excel раскрасит элементы объекта в цвет согласно выбранной цветовой схеме. (рис1)
Но если записать эти действия макрорекордером и и попробовать повторить программно - магии не произойдет. (рис2)
Для проверки макрорекордером записал обратное действие - ручное изменение цвета секторов диаграммы - и данное действие удалось воспроизвести программно через vba
P.S. Поисковики выдают массу запросов как поменять цвет в зависимости от "чего-то там", но как вернуть к Автовыбору - мне найти не удалось
запись изменения цвета вручную
Код
Sub Макрос1()
'
' Макрос1 Макрос
'Окрашиваем элементы диаграммы в один цвет
'
ActiveSheet.ChartObjects("Диаграмма 1").Activate
ActiveChart.FullSeriesCollection(1).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Solid
End With
End Sub
запись автоматического возвращения цвета
Код
Sub Макрос2()
'
' Макрос2 Макрос
'Пытаемся вернуть цвет по умолчанию - кнопка "Автовыбор"
'
ActiveSheet.ChartObjects("Диаграмма 1").Activate
ActiveChart.FullSeriesCollection(1).Select
Selection.Format.Fill.Visible = msoTrue
End Sub
Изменено: Viktor Vavilov - 01.11.2024 10:05:57(Информация о поисковиках)
Здравствуйте уважаемые форумчане. Давно волновал вопрос, но до последнего времени остро не стоял - Как скопировать из Excel в другие приложения только выделенные ячейки?
Честно, уделил поиску ответа на данный вопрос пару дней (не полных конечно же ) Из того, что находится - только темы "...копировать только отфильтрованные ячейки..." и "...скопировать без скрытых ячеек..." и сводится к использованию сочетания Ctrl+G и выделение только видимых ячеек. Нашлась только одна тема на хабре и то без нужного мне ответа. Данные решения не подходят так как ячейки не скрыты - они видны, и просто не попадают в селекшон
Я понимаю что Excel внутри себя имеет некоторые "расширенные" свойства буфера данных, и при копировании только выделенных ячеек и вставки их на этот/другой лист - все происходит как задумано, но стоит тут же вставить эти данные например в блокнот - магии не происходит и туда вставляются все данные находящиеся между выделенными ячейками.
У меня возникло идея только 2 способов реализации этого: 1. Проходится циклом по всем выделенным ячейкам, с копированием данных в какой-нибудь массив и дальнейшем переносом этих данных в клипборд (смущает скорость выполнения особенно при больших выборках) 2. После стандартного копирования выделенных ячеек - вставка их на временный лист/диапазон - с последующим повторным копированием ячеек (уже без пропусков) с этого диапазона в клипборд (смущает наличие "временного листа/диапазона" особенно при больших выборка стремящихся к максимальному значению столбцов/строк)
Может кто-нибудь наставить на путь истинный и подсказать заветную функцию/параметр/свойство если таковой имеется в VBA в нативном виде ну или подсказать более легкий алгоритм чем предложенные выше?
Заранее спасибо!
Изменено: Viktor Vavilov - 24.11.2022 14:02:09(орфография)
Здравствуйте уважаемы форумчане. Сразу к делу: При попытке создать правило условного форматирования макросом, правило создается но формат не применяется. Причем, стоит зайти в редактирование этого правила (а именно в редактирование формулы) и ничего не изменяя - нажать ок/применить форматирование - правило начинает работать. При повторном применении макроса - правило снова перестает работать
Правило взято из статьи Николая Павлова Выделение дубликатов цветом и должно подсвечивать повторы не по одному столбцу, а по нескольким.
Здравствуйте уважаемые гуру Excel'я. В вашей статье Поиск символов латини... есть пункт про подсветку символов определенным цветом. Мне необходима подобная функция, но с небольшим различием. Необходимо выделение конкретных символов в ячейке по заданному образцу, например: Ячейка1______Ячейка2___Ячейка3___Ячейка4___Ячейка5 абвгд________аб________0_________1_________абвгд абвгд________гд________1_________2_________абвГД
Яч1 - исходный текст Яч2 - образец для выделения Яч3 - да\нет смена регистра Яч4 - код цвета (условно) Яч5 - результат
В общем как то так макросик то несложный, и для тех кто знает синтаксис VBA проблем не составит, Буду рад за любую оказанную помощь