5

Я работаю над электронной таблицей, которая была создана в более ранней версии Excel (я думаю, 2003), и она широко использует цветовое кодирование для организации. К сожалению, он был построен с использованием цветовой схемы из более старой версии, и в основном ни один из цветов не соответствует цветам в теме 2010 года (кроме чистого белого и чистого черного). Поэтому каждый раз, когда я хочу привести что-либо в соответствие с ранее существующей цветовой схемой, мне нужно либо выбрать собственный цвет и выбрать его вручную, либо скопировать форматирование из существующей ячейки и вставить в целевую ячейку (которая раздражает, потому что он также копирует такие вещи, как границы и т. д.)

Я нашел настройку Page Layout/Themes/Colors, но, похоже, все, что я могу сделать, - это изменить выбираемые цвета на один из их предустановок или создать совершенно новую палитру - и я могу выбрать только несколько цветов в этом палитра, а не полный набор. Это создает остальное, делая более светлые или темные версии цветов, которые вы выбираете. Кроме того, выполнение любого из этих действий изменит цвета, уже использованные в электронной таблице, если и только если они точно соответствуют цветам, использованным в предыдущей схеме. Это означает, что вещи, которые раньше были окрашены в одинаковые тона для обозначения их отношений, теперь окрашены по-разному, некоторые остаются в старой схеме, а другие автоматически меняются на новую. Это в основном ломает всю систему.

То, что я хочу, это иметь возможность просто добавлять определенные цвета, которые я использую из старого документа, чтобы они отображались в окне выбора цвета, и мне не нужно искать их. В более старых версиях Excel была эта возможность - было множество настраиваемых квадратов, которые можно было сделать любым цветом, и они были бы сохранены вместе с темой. Я думаю, вы могли бы даже добавить больше квадратов, я забыл. (Старая версия больше не установлена.) Удалили ли они эту функцию в пользу своих "Тем"? Или это где-то спрятано? Меня совсем не интересует эта функция цветовых схем. Я просто хочу использовать любые цвета, которые я хочу использовать (особенно те, которые соответствуют этому документу), не беспокоясь о том, соответствуют ли они какой-либо произвольной предустановленной палитре или нет. Я бы действительно не хотел перекрашивать весь этот лист, используя новые настройки схем, просто чтобы поддерживать здесь уровень согласованности.

3 ответа3

4

Вы можете попробовать использовать (или адаптировать) эту электронную таблицу, опубликованную Джоном Уокенбахом. Этот метод создаст кнопку на ленте и даст вам палитру цветов Excel 2003.

  1. Загрузите образец рабочей книги ColorPicker.xls
  2. Попробуйте кнопку с надписью Нажмите здесь, чтобы изменить цвет фона выбранных ячеек

    J-Walk's ColorPicker

  3. Сохраните файл где-нибудь.
  4. Щелкните правой кнопкой мыши в любом месте ленты и выберите « Настроить ленту».
  5. Из выпадающего списка « Выбрать команды» выберите « Macros затем выберите ...GetAColor2 ниже (выделено желтым на скриншоте).

  6. На правой панели нажмите Home, затем выберите New Group. Щелкните правой кнопкой мыши на появившейся опции New Group (Custom) , переименуйте ее в 2003 Colours и выберите значок заливки.

  7. Наконец нажмите кнопку Добавить >> в центре. Переименуйте новую опцию 2003 Colours и снова выберите значок заливки. Теперь вы должны увидеть это на ленте.

  8. Вы можете предпочесть перенести VBA из этого файла в вашу личную рабочую книгу, чтобы не открывать внешний файл при нажатии кнопки, или использовать комбинацию клавиш вместо кнопки ленты. Но как быстрый способ начать работу это работает хорошо.

Примечание - больше информации по адаптации рабочей книги J-Walk здесь.

4

Хм, боюсь, тебе не повезло.

В 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. Вместо этого в моде тона на тоновой цветовой гамме с оттенками шести акцентных цветов.

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

0

Это решение сработало для меня в Excel 2013, и поэтому я публикую его здесь для всех, кто наткнется на этот вопрос в будущем и ему не понравится ответ «Вы не можете».


Если вы делаете новые файлы:

Создайте новый шаблон, который Excel будет использовать при создании новых файлов.

  1. Откройте пустую книгу
  2. Настройте его по своему усмотрению (все будущие новые рабочие книги будут его копиями, поэтому не торопитесь, чтобы установить желаемые настройки шрифта, ширину столбцов и т.д.)
  3. Для каждого из пользовательских цветов, которые вы хотите сохранить, установите ячейку на этот пользовательский цвет. (Я просто использовал A1 снова и снова)
  4. Установите все ваши ячейки обратно на без заполнения
  5. Теперь, когда у вас есть цвета, которые вы хотите отобразить в последних цветах, вы можете сохранить шаблон.
  6. Сохраните файл как «Book.xltx» в папке запуска Excel. Для меня это было
    C:\users\{username}\AppData\Roaming\Microsoft\Excel\XLSTART\
  7. Закройте файл, потому что он не позволит вам открыть новый файл на основе шаблона, пока шаблон еще открыт
  8. Откройте новый файл, чтобы увидеть, работает ли он

Когда я добрался до шага 8, у моего нового файла были варианты цвета, показанные ниже:

Цвета


Если вы редактируете старые файлы:

Автоматизируйте шаг 3 выше, используя VBA.

  1. Сохраните VBA ниже в своей личной рабочей тетради
  2. Отредактируйте переменную ColorList чтобы она представляла собой список значений RGB, которые вам нужны
  3. Отредактируйте время сна, если это необходимо для вашей конкретной установки
  4. Добавьте макрос на свою ленту

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

 

'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

Оригинальный источник для VBA

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .