2009-08-11 8 views
1

J'ai une feuille de calcul qui a une touche de couleur en haut. Les utilisateurs doivent définir manuellement la couleur des différentes cellules de la feuille de calcul en fonction de la clé de couleur.Copier la couleur d'intérieur de cellule de la cellule cliquée à la cellule active

Idéalement, je souhaite que les utilisateurs puissent mettre en surbrillance/sélectionner une ou plusieurs cellules dans la feuille de calcul à laquelle ils souhaitent donner une couleur, puis en un clic sur la cellule de clé de couleur pouvoir copier son intérieur couleur aux cellules qu'ils ont sélectionnées à l'origine. Exemple: L'utilisateur sélectionne les cellules A17: D17 et souhaite définir la couleur intérieure de ces cellules de la même manière que la couleur intérieure de la cellule A2 en cliquant simplement sur la cellule A2.

Ils pourraient alors vouloir changer la couleur de A17: D17 à la même couleur que A3 en cliquant sur la cellule A3

Y at-il une fonction macro/custom/way combobox de le faire?

Tout conseil serait grandement apprécié

Cordialement, Ben

Répondre

2

Ajout d'un bouton de commande pour chaque couleur pour ce faire. Demandez aux utilisateurs de sélectionner des cellules, puis cliquez sur le bouton pour changer la propriété .ColorIndex du Selection en .ColorIndex du bouton.

+0

C'est une manière beaucoup plus simple de parvenir à la résultat que l'OP voulait. Agréable. –

0

En fait, il existe une façon intégrée de le faire, mais je ne sais pas si vos utilisateurs le voudront ou non ... si ce n'est pas le cas, ajoutez un bouton de commande personnalisé pour copier la propriété colorIndex.

processus manuel:

  1. Copie la cellule contenant la clé de couleur.

  2. Cliquez sur la nouvelle cellule que vous souhaitez ajouter une couleur et un clic droit, sélectionnez l'option coller spéciale ..

  3. Sélectionnez Format dans la fenêtre qui apparaît et cliquez sur OK.

La couleur, le formatage, etc. est copié sans la valeur.

1

@A. L'idée de Scagnelli est une bien meilleure implémentation de ce dont vous avez besoin. Ayez juste un tas de boutons de couleur changeant l'index de couleur.

La raison pour laquelle le suivi de la sélection précédente est une douleur. Lorsque vous faites une nouvelle sélection, je ne pense pas qu'Excel connaisse votre dernière sélection. Vous pouvez contourner ce problème en définissant une variable globale pour vous souvenir de chaque dernière sélection. Ce n'est pas beau ou recommandé .. mais c'est possible.

Vous aurez besoin de quelque chose comme ce qui suit dans votre feuille de travail;

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 

NB: Vous devrez vérifier si la sélection actuelle est l'une de vos cellules de couleur avant cuisson .Interior.ColorIndex mais je vais laisser vous :)

+0

+1 pour quelques informations utiles. Et pour être gentil et reporter à l'autre solution. – Gavin

Questions connexes