2010-07-28 6 views
3

Je conserve une feuille de calcul de ma chronologie au travail et lorsque je me rencontre et que je m'attends à respecter certains jalons. Les données (dates) sont stockées de gauche à droite et chaque projet a sa propre ligne. Les jalons sont fixés de façon permanente et occupent Range (O: AA). Mes données sont codées en vert (Complet), Orange (Date limite), Bleu (Ne fonctionne pas), Rouge (Non applicable). Ce que je voudrais faire est d'écrire une fonction qui vérifierait si une cellule contenait un arrière-plan de couleur orange (indice de couleur 6) et renvoyer une VRAIE ou FAUX en fonction de cela. Fondamentalement, je veux regrouper tous les délais dans toutes les colonnes. Finalement, j'aimerais intégrer une vérification de la date afin que je puisse voir quelles échéances approchent.Fonction VBA Excel à renvoyer vrai ou faux en fonction des couleurs d'arrière-plan de la cellule dans une plage

Function ScanForColor(Dates As Range) as Boolean 
    If ScanForColor.Interior.ColorIndex = 6 Then 
     ScanForColor = True 
    Else 
     ScanForColor = False 
End Function 

Je voudrais appeler la fonction dans une cellule comme = ScanForColor (O3: AA3) et je vais avoir la fonction ScanForColor dans la colonne AB pour contenir les valeurs pour filtrer le document.

+0

Ne serait-il plus facile d'entrer dans l'un des quatre codes dans chaque cellule au lieu? De cette façon, vous pouvez utiliser les formules de classeur normales pour effectuer l'agrégation. Vous pouvez toujours modifier la couleur d'arrière-plan à l'aide de la mise en forme conditionnelle - formats conditionnels pour trois états et couleur de cellule par défaut pour le quatrième. –

Répondre

6

Quelque chose comme ça va faire l'affaire!

Function ScanForColor(Cells As Range, ColorValue As Integer) As Boolean 
    Dim cell As Range 
    For Each cell In Cells 
     If cell.Interior.ColorIndex = ColorValue Then 
      ScanForColor = True 
      Exit For 
     End If 
    Next 
End Function 

Cela vous permettra d'appeler et de tester différentes valeurs de couleurs ....

+1

Merci beaucoup GraGra. Cela m'a aidé à construire le rapport que je travaille. –

Questions connexes