Excel: Vérifier la valeur et la copie couleur à partir d'une cellule
Je me sens comme cette question a été posée, mais je ne suis pas vraiment comprendre les solutions. Je voudrais savoir comment faire pour vérifier les valeurs de certaines cellules et de copier les couleurs de ceux qui correspondent à une autre cellule. J'ai une feuille de calcul qui ressemble à ceci:
A B C D E F
1 Type Location Cell PairType PairLocation PairCell
2 EX3 1 A1 EX2 1 F3
3 EX4 1 B2 EX3 1 G3
4 EX2 1 F3 EX3 1 A1
Certaines des valeurs de A, B et C ont des couleurs différentes pour marquer spéciaux (couleurs de fond, de ne pas les couleurs de police). J'ai besoin de prendre les valeurs de la colonne D, trouver la correspondance dans Un et puis si/quand je trouve une correspondance, copie les couleurs d'arrière-plan à partir de A, B et C à l'arrière-plan de D, E et F. Si je trouve un D pour Un match (comme la ligne 2, colonne D à la ligne 4, colonne A), puis les E/F valeurs correspondent aussi à la B/C les valeurs (comme illustré ci-dessus), donc je n'ai pas à vous soucier de l'écrasement de toutes les valeurs. Je ne suis pas vraiment couramment dans Excel-ese alors, quand je lis une solution à ceci:
Function BGCol(MRow As Integer, MCol As Integer) As Integer
BGCol = Cells(MRow, MCol).Interior.ColorIndex
End Function
Je ne suis pas vraiment sûr de ce que je suis moi-même en.
Quelqu'un peut-il proposer une solution et une explication?
I am not really fluent in Excel-ese
Êtes-vous à tous familiers avec VBA, car cette Fonction est une solution VBA. Je ne pense même pas que vous pouvez vous en sortir sans une solution VBA sur celui-ci.- Je suis sorta un peu familiarisé avec visual basic. Comme je l'ai écrit 2 ou 3 petits programmes en un an mais il n'a jamais été fait en référence à un fichier excel.
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner. Il pourrait être rendue plus efficace, mais il va certainement vous aider à démarrer.
De le placer dans un module standard et exécuter le code (F5 ou F8 pour passer d'elle). Laissez-moi savoir si vous avez besoin de plus de conseils.
End(xlUp)
va aller à la fin, dans n'importe quelle direction, d'une plage contiguë (que ce soit en blanc ou avec des données). Donc, si vous avez des données dans les cellules B1:B10, et tous les blancs de B10:B50 et vous tapez Range("B20").End(xlUp), il vous faudra à B10.xlWhole
est utilisé dans leFind
méthode, il raconte l'histoire exacte de rechercher une correspondance exacte, par opposition à la recherche de texte existant dans n'importe quelle partiexlPart
de la cellule. Utiliser la fonction Rechercher dans Excel, pour explorer cette.Désolé pas de temps à expliquer, mais je pense que ça va le faire. Vous devriez vraiment utiliser quelque chose de mieux que la magie de la colonne des numéros de 3,4,5, etc, mais c'est un quickndirty solution.