
24-04-21, 19:25
|
 | Διαχειριστής Όνομα: Χρήστος Ζώρζος Έκδοση λογισμικού 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! |