Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Formula function με ημερομηνία (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/5872-formula-function-me-imerominia.html)

minas84 24-04-21 15:06

1 Συνημμένο(α)
Έτσι είναι στην ουσία το excel μου. Έχει 3 παρόμοια λογικής sheet τα οποία έχουν διαφορετικά νούμερα. Βαζω καθε μέρα τα καινούρια νούμερα της ημέρας (στο πάραδειμα έχω βάλει ως και 3 Mar, το πρώτο sheet τυχαία δεν έχει, μετα συνεχίζουμε με 5 Mar κτλ)
Στο τέλος υπάρχει ένα που τα αθροίζει.
Το πρόβλημα είναι ότι όταν πας στην 1 σελίδα και την κάνεις refresh με alt+ctrl+shift+F9
χαλάει τον υπολογισμό στις υπόλοιπες κτλ.
Τι λάθος κάνω;;;
Μήπως να ορίσω daily1 για την 1η, daily2 για την 2 και daily3 για την 3;

kapetang 24-04-21 18:03

Καλησπέρα

Μηνά βλέπω ότι στο βιβλίο σου χρησιμοποιείς τη συνάρτηση του Χρήστου.

Για το πρόβλημα που αναφέρεις συνεπώς μάλλον θα έπρεπε να το κοιτάξει ο Χρήστος.

ChrisGT7 24-04-21 19:25

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

Όπως φαίνεται, ο επαναϋπολογισμός της 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.

minas84 24-04-21 22:32

Χρήστο λειτουργεί τέλεια τώρα, ευχαριστώ πάρα πολύ! Γιώργο το δοκίμασα αυτό που μου είπες και το κατάλαβα, σ' ευχαριστώ και σένα πάρα πολύ!


Η ώρα είναι 02:15.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2