Καλησπέρα στην παρέα
Είπα να ανακατευτώ και εγώ στην κουβέντα μιας και αναφέρθηκε το EXCEL.
Όπως είπε και ό Τάσος.
Η ΕΟΜΟΝΤΗ συνάρτηση του Excel που είναι ενσωματωμένη μόνο από το 2007 και μετά, για τις προηγούμενες εκδόσεις "
δεν είναι διαθέσιμη και επιστρέφει το σφάλμα #ΟΝΟΜΑ?, θα πρέπει να γίνει εγκατάσταση και φόρτωση του πρόσθετου Πακέτο Εργαλείων Ανάλυσης" όπως αναφέρει και η βοήθεια.
Τώρα για την πλήρη κάλυψη του θέματος η EOMONTH σε όλες τις εκδόσεις του Excel δέχεται δύο παραμέτρους, πράγμα που δεν λαμβάνει υπόψιν η προτεινόμενη
EndOfMonth που προτάθηκε.
Απ την άλλη βλέποντας το αρχικό ερώτημα μάλλον ψάχνουμε κάτι όπου η δεύτερη παράμετρος να είναι προαιρετική.
Θα έλεγα λοιπόν ότι σε
VBA θα πρέπει να χρησιμοποιήσουμε:
Κώδικας:
Function myEOMONTH(d As Date, Optional m%) As Date
myEOMONTH = DateSerial(Year(d), Month(d) + 1 + m, 0)
End Function
Το αν θα μας επιστρέφει ημερομηνία ή αριθμό το αφήνω να το κρίνετε εσείς.
Ελπίζω ότι θα συμφωνήσετε με την προτεινόμενη διόρθωση. Δείτε όμως και το ΥΓ.
Τα λέμε
Θανάσης
ΥΓ και μην ξεχνάτε ότι
το Excel (σε όλες τις εκδόσεις του) εσφαλμένα θεωρεί το 1900 σαν δίσεκτο παρόλα αυτά η =EOMONTH("2/2/1900";0) επιστρέφει σωστό αποτέλεσμα ενώ η
=myEOMONTH("2/2/1900";0) μας δίνει λάθος 29/2/1900.