скопировать цвет интерьера ячейки из ячейки щелчка в активную ячейку - PullRequest
1 голос
/ 11 августа 2009

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

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

Пример: Пользователь выбирает ячейки A17: D17 и хочет установить внутренний цвет этих ячеек так же, как и внутренний цвет ячейки A2, просто нажав на ячейку A2.

Затем они могут захотеть изменить цвет A17: D17 на тот же цвет, что и A3, просто нажав на ячейку A3

Есть ли способ сделать это с помощью макроса / пользовательской функции / комбинированного списка?

Любой совет будет принят с благодарностью

С наилучшими пожеланиями, Бен

Ответы [ 3 ]

2 голосов
/ 11 августа 2009

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

кнопки.
1 голос
/ 12 августа 2009

@ A. Идея Сканелли - намного лучшая реализация того, что вам нужно. Просто добавьте несколько цветовых кнопок для изменения индекса цвета.

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

Вам понадобится что-то вроде следующего в вашей рабочей таблице;

Option Explicit
Dim lastAddress As String


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If lastAddress <> "" Then
   Range(lastAddress).Formula = "Was selected before"
   Range(lastAddress).Interior.ColorIndex = 6
 End If

 lastAddress = Target.Address

End Sub

Примечание: вам нужно проверить, является ли текущий выбор одной из ваших цветовых ячеек, прежде чем запускать .Interior.ColorIndex, но я оставлю это вам:)

0 голосов
/ 12 августа 2009

На самом деле есть встроенный способ сделать это, но я не знаю, понравится ли это вашим пользователям или нет ... если они не добавят пользовательскую кнопку для копирования свойства colorIndex.

Ручной процесс:

  1. Скопируйте ячейку, содержащую цветовой ключ.

  2. Нажмите на новую ячейку, к которой вы хотите добавить цвет, и щелкните правой кнопкой мыши, выберите «Вставить специальный».

  3. Выберите параметр «Формат» в открывшемся окне и нажмите «ОК».

Цвет, форматирование и т. Д. Копируются без значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...