Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Συναρτήσεις] Άθροισμα Βάση χρώματος άλλου κελιού

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

 

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
Prev Προηγούμενο μήνυμα   Επόμενο Μήνυμα Next
  #1  
Παλιά 30-10-21, 18:47
Όνομα: Μηνας
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 17-06-2015
Μηνύματα: 15
Προεπιλογή Άθροισμα Βάση χρώματος άλλου κελιού

Kαλησπέρα έχω αυτό το test file που βάση ημερομηνίας μετράει πόσα κελιά απ' το κάθε χρώμα υπάρχουν "δίπλα" σε κάθε ημερομηνία.
Με τον παρακάτω κώδικα για κάθε ένα απ τα τρία χρώματα

Κώδικας:
Function DailyWin(MyColors As range, MyDates As range, Str As range) As Double
    Dim R  As Long: R = MyColors(1, 1).Row - MyDates(1, 1).Row
    Dim C  As Long: C = MyColors(1, 1).Column
    Dim Dt As range
    
    Application.Volatile
    With MyColors.Parent
        For Each Dt In MyDates
            If InStr(Dt.Value, Str.Value) Then
                If .Cells(Dt.Row + R, C).Interior.Color = RGB(198, 239, 206) Then
                    DailyWin = DailyWin + 1
                Else
                    DailyWin = DailyWin
                End If
            End If
        Next
    End With
End Function


Function DailyLost(MyColors As range, MyDates As range, Str As range) As Double
    Dim R  As Long: R = MyColors(1, 1).Row - MyDates(1, 1).Row
    Dim C  As Long: C = MyColors(1, 1).Column
    Dim Dt As range
    
    Application.Volatile
    With MyColors.Parent
        For Each Dt In MyDates
            If InStr(Dt.Value, Str.Value) Then
                If .Cells(Dt.Row + R, C).Interior.Color = RGB(255, 199, 206) Then
                    DailyLost = DailyLost + 1
                Else
                    DailyLost = DailyLost
                End If
            End If
        Next
    End With
End Function




Function DailyVoid(MyColors As range, MyDates As range, Str As range) As Double
    Dim R  As Long: R = MyColors(1, 1).Row - MyDates(1, 1).Row
    Dim C  As Long: C = MyColors(1, 1).Column
    Dim Dt As range
    
    Application.Volatile
    With MyColors.Parent
        For Each Dt In MyDates
            If InStr(Dt.Value, Str.Value) Then
                If .Cells(Dt.Row + R, C).Interior.Color = RGB(255, 235, 156) Then
                    DailyVoid = DailyVoid + 1
                Else
                    DailyVoid = DailyVoid
                End If
            End If
        Next
    End With
Θα ηθέλα να κάνω το ίδιο, αλλά αντί για ημερομηνιές να διαβάζει παλί χρώμα.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm test.xlsm (16,7 KB, 2 εμφανίσεις)
Απάντηση με παράθεση
 


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] Αλλαγή χρώματος κελιού ανάλογα με την τιμή του κελιού bilakos26 Excel - Ερωτήσεις / Απαντήσεις 5 10-11-17 17:07
[Μορφοποίηση] Κλείδωμα κελιού με βάση το περιεχόμενο ενός άλλου. dimharos Excel - Ερωτήσεις / Απαντήσεις 1 28-05-16 06:06
[VBA] Αλλαγή της τιμής ενός κελιού βάσει του χρώματος sakis297 Excel - Ερωτήσεις / Απαντήσεις 8 18-09-15 18:19
[VBA] Αλλαγή χρώματος κελιού στην περίπτωση που devcon Excel - Ερωτήσεις / Απαντήσεις 5 30-03-11 15:20
[VBA] Αλλαγή χρώματος κελιού ytsiak Excel - Ερωτήσεις / Απαντήσεις 5 18-09-10 00:44


Η ώρα είναι 08:14.