Θέμα: Συναρτήσεις Formula function με ημερομηνία

Εμφάνιση ενός μόνο μηνύματος
  #13  
Παλιά 24-04-21, 19:25
Το avatar του χρήστη ChrisGT7
ChrisGT7 Ο χρήστης ChrisGT7 είναι συνδεδεμένος
Διαχειριστής
Όνομα: Χρήστος Ζώρζος
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 20-09-2013
Περιοχή: Κοντά σε ηφαίστειο...
Μηνύματα: 1.046
Προεπιλογή

Καλησπέρα σας,

Όπως φαίνεται, ο επαναϋπολογισμός της daily αναφερόταν στα εύρη του τρέχοντος φύλλου, γι' αυτό είχε λάθος αποτελέσματα στα υπόλοιπα φύλλα.

Δοκίμασε τον παρακάτω νέο κώδικα της daily:
Κώδικας:
Function Daily(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, 0, 0) Then
                    Daily = Daily - 6
                ElseIf .Cells(Dt.Row + R, C).Interior.Color = RGB(0, 176, 80) Then
                    Daily = Daily + (.Cells(Dt.Row + R, C).Value - 1) * 0.97
                Else
                    Daily = Daily
                End If
            End If
        Next
    End With
End Function
Πλέον, όταν γίνεται μια αλλαγή σ' ένα κέλι (πλην χρώματος), γίνεται αυτόματος επαναϋπολογισμός σ' όλα τα φύλλα. Όταν αλλάζεις το χρώμα σ' ένα κελί, απλά πάτα το F9.
__________________
Your Curiosity Will Be The Death Of You!
Απάντηση με παράθεση