Я работаю над электронной таблицей, которая была создана в более ранней версии Excel (кажется, 2003 года), и она делаетобширныйиспользование цветового кодирования для организации. К сожалению, он был создан с использованием цветовой схемы из старой версии, и в основном ни один из цветов не соответствует тем, что в теме 2010 года (за исключением чистого белого и чистого черного). Поэтому каждый раз, когда я хочу, чтобы что-то соответствовало ранее существующей цветовой схеме, мне приходится либо выбирать пользовательский цвет и выбирать его вручную, либо копировать форматирование из существующей ячейки и вставлять в целевую ячейку (что раздражает, потому что копируются также такие вещи, как границы и т. д.)
Я нашел настройку Page Layout/Themes/Colors, но, похоже, все, что я могу сделать там, это изменить выбираемые цвета на один из их предустановленных цветов или создать совершенно новую палитру — и я могу выбрать только несколько цветов в этой палитре, а не весь набор. Он создает остальные, делая более светлые или более темные версии цветов, которые вы выбираете. Плюс, выполнение любого из этих действий изменит цвета, уже используемые в электронной таблице, если и только если они точно соответствуют цветам, используемым в предыдущей схеме. Это означает, что вещи, которые раньше были окрашены в похожие тона для обозначения их взаимосвязи, теперь окрашены по-другому, некоторые остаются в старой схеме, а другие автоматически меняются на новую. По сути, это ломает всю систему.
Я хочу иметь возможность просто добавлять определенные цвета, которые я использую из старого документа, чтобы они отображались в палитре цветов, и мне не приходилось их искать. В старых версиях Excel была такая возможность — там было множество настраиваемых квадратов, которые можно было раскрасить в любой цвет, и они сохранялись вместе с темой. Думаю, можно было бы даже добавить больше квадратов, я забыл. (У меня больше не установлена старая версия.) Они удалили эту функцию в пользу своих «Тем»? Или она где-то спрятана? Мне вообще не интересна эта функция цветовых схем. Я просто хочу использовать любые цвета, которые хочу (особенно те, которые соответствуют этому документу), не беспокоясь о том, соответствуют ли они какой-то произвольной предустановленной палитре или нет. Я бы предпочел не перекрашивать весь этот лист с помощью новой настройки схем, просто чтобы сохранить здесь уровень последовательности.
решение1
Хм, боюсь, вам не повезло.
В Excel 2003 была цветовая палитра с 40 настраиваемыми цветами для использования в рабочих листах и 16 дополнительными цветами для использования в диаграммах. Параметры палитры по умолчанию можно было настраивать и изменять с помощью файла, цвета диаграммы можно было использовать в ячейках рабочих листов и наоборот.
Начиная с Office 2007, этот принцип был заменен на цвет «темы», который состоит из двух текстовых и шести акцентных цветов и различных интенсивностей этих цветов на выбор. Темы согласованы во всех приложениях Office. Достаточно легко переключаться между темами, и элементы, отформатированные с помощью цветов темы, будут меняться при переключении темы.
Также достаточно просто создать новую тему с вашими любимыми цветовыми решениями, если они не превышают 6 акцентных цветов.
Всегда есть возможность отклониться от цветов темы и выбрать свой цвет из палитры из 127 стандартных цветов и нескольких оттенков серого, или определить свои цвета с помощью значений RGB или HSL. К сожалению, нет простого способа добавить такой выбор в стандартную палитру.
Чтоочень сильноОднако сложнее всего определить собственную цветовую палитру, включающую более двух текстовых и 6 акцентных цветов, т. е. что-то похожее на 56 цветов, которые предлагались в Excel до версии 2007.
Знаете ли вы, что в Excel есть стили, как и в Word? Стили Excel могут включать шрифт, размер шрифта, форматирование чисел, цвет текста и цвет заливки. Вы можете использовать функцию стилей Excel и создавать различные стили с точно такой же окраской и другим форматированием, которые вы хотите для ячейки.
Другой способ (хотя и не простой и требующий некоторой работы) — создать новый лист, использовать две сетки по 8 столбцов на 7 строк и вручную задать цвет каждой ячейки в соответствии со значениями RGB, как в исходном файле Excel 2003. Используйте одну из сеток для цвета заливки, другую — для цвета текста. Затем вы можете выбрать ячейку с нужным цветом, скопировать ее и вставить ее форматирование в целевую ячейку.
Или скопируйте и вставьте каждое из ваших отдельных форматирований ячеек в своего рода таблицу руководства по стилю на новом листе и используйте ее только для копирования и вставки форматов.
В конечном счете, вам захочется переключить свое мышление на принцип тем. 56 отдельных цветов исчезли из пользовательского интерфейса с Office 2007. Вместо этого в моде цветовые схемы тон в тон с оттенками шести акцентных цветов.
Если вы начнете разрабатывать новые электронные таблицы в соответствии с этими принципами, в долгосрочной перспективе ваша жизнь станет проще.
решение2
Вы можете попробовать использовать (или адаптировать) этоЭлектронная таблица опубликована Джоном Уокенбахом. Этот метод создаст кнопку на ленте и предоставит вам палитру цветов Excel 2003.
- Загрузите образец рабочей тетрадиВыбор цвета.xls
Попробуйте кнопку с надписьюНажмите здесь, чтобы изменить цвет фона выбранных ячеек.
- Сохраните файл где-нибудь.
- Щелкните правой кнопкой мыши в любом месте ленты и выберитеНастройте ленту.
ИзВыберите команды извыберите раскрывающийся список,
Macros
затем выберите пункт...GetAColor2
ниже (выделено желтым на снимке экрана).На правой панели нажмите наДомзатем выберитеНовая группаЩелкните правой кнопкой мыши поНовая группа (пользовательская)Появившуюся опцию переименуйте
2003 Colours
и выберите значок заливки.Наконец нажмите кнопкуДобавить >>кнопку в центре. Переименуйте новую опцию
2003 Colours
и снова выберите значок заполнения. Теперь вы должны увидеть его на ленте.Вы можете предпочесть переместить VBA из этого файла в свою личную книгу, чтобы не открывать внешний файл при нажатии кнопки, или использовать сочетание клавиш вместо кнопки ленты. Но как быстрый способ приступить к работе это работает хорошо.
Примечание -Более подробную информацию об адаптации рабочей тетради J-Walk можно найти здесь.
решение3
Это решение сработало у меня в Excel 2013, поэтому я публикую его здесь для тех, кто в будущем столкнется с этим вопросом и кому не понравится ответ «нельзя».
Если вы создаете новые файлы:
Создайте новый шаблон, который Excel будет использовать при создании новых файлов.
- Откройте пустую книгу.
- Настройте его по своему усмотрению (все будущие новые рабочие книги будут копией этой, поэтому не торопитесь, устанавливая нужные параметры шрифта, ширину столбцов и т. д.)
- Для каждого из пользовательских цветов, которые вы хотите сохранить, установите ячейку для этого пользовательского цвета. (Я просто использовал его
A1
снова и снова) - Установите для всех ячеек значение «Нет заливки»
- Теперь, когда у вас есть цвета, которые вы хотите отобразить в списке «Недавние цвета», вы можете сохранить шаблон.
- Сохраните файл как "Book.xltx" в папке запуска Excel. Для меня это было
C:\users\{username}\AppData\Roaming\Microsoft\Excel\XLSTART\
- Закройте файл, так как он не позволит вам открыть новый файл на основе шаблона, пока шаблон открыт.
- Откройте новый файл, чтобы проверить, сработало ли это.
Когда я дошел до шага 8, мой новый файл имел следующие параметры цвета:
Если вы редактируете старые файлы:
Автоматизируйте шаг 3 выше с помощью VBA.
- Сохраните приведенный ниже код VBA в своемличная рабочая тетрадь макросов
- Отредактируйте
ColorList
переменную так, чтобы она представляла собой список необходимых вам значений RGB. - При необходимости отредактируйте время сна в соответствии с вашими конкретными настройками.
- Добавьте макрос на свою ленту
(Если эти ссылки не работают, значит, проблемы достаточно распространены, и вы сможете найти массу помощи с помощью предпочитаемой вами поисковой системы.)
'Declare Sleep() API
#If VBA7 Then ' Excel 2010 or later
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal Milliseconds As LongPtr)
#Else ' Excel 2007 or earlier
Public Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long)
#End If
Sub LoadRecentColors()
'PURPOSE: Use A List Of RGB Codes To Load Colors Into Recent Colors Section of Color Palette
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
Dim ColorList As Variant
Dim CurrentFill As Variant
'Array List of RGB Color Codes to Add To Recent Colors Section (Max 10)
ColorList = Array("066,174,093", "184,055,038", "046,062,081", "056,160,133")
'Store ActiveCell's Fill Color (if applicable)
If ActiveCell.Interior.ColorIndex <> xlNone Then CurrentFill = ActiveCell.Interior.Color
'Optimize Code
Application.ScreenUpdating = False
'Loop Through List Of RGB Codes And Add To Recent Colors
For x = LBound(ColorList) To UBound(ColorList)
ActiveCell.Interior.Color = RGB(Left(ColorList(x), 3), Mid(ColorList(x), 5, 3), Right(ColorList(x), 3))
DoEvents
SendKeys "%h"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "h"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "m"
Sleep 500 'Pause half-second (units in milliseconds)
SendKeys "~"
Sleep 500 'Pause half-second (units in milliseconds)
DoEvents
Next x
'Return ActiveCell Original Fill Color
If CurrentFill = Empty Then
ActiveCell.Interior.ColorIndex = xlNone
Else
ActiveCell.Interior.Color = currentColor
End If
End Sub