Forum

Αναζήτηση στο ms-office.gr

Πάμε!
ms-office.gr > Forum > Microsoft Office > Ms-Office > Υπολογισμός ελληνικού Πάσχα

Ms-Office Γενικές ερωτήσεις για τις εφαρμογές του Microsoft Office.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 02-01-10, 01:02
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Γερμανική
 
Εγγραφή: 31-12-2009
Μηνύματα: 18
Προεπιλογή Υπολογισμός ελληνικού Πάσχα

Καλημέρα και χρόνια πολλά σε όλους και όλες!

Η ερώτηση μου δεν ταιριάζει και τόσο με τις γιορτές των Χριστουγέννων και της
Πρωτοχρονιάς αλλά…

Πως μπορώ να υπολογίσω (με VBA ή χωρίς) την Κυριακή του Πάσχα
σε προγράμματα του Office όπως Word, Excel, Access?

Ευχαριστώ για τον χρόνο σας.

Φιλικά

Δημήτρης
Απάντηση με παράθεση
  #2  
Παλιά 02-01-10, 11:45
Όνομα: Χρήστος Ελευθερίου
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 26-11-2009
Περιοχή: Άρτεμις
Μηνύματα: 136
Προεπιλογή

Αγαπητε φιλε Δημητρη καλήμερα & χρονια πολλα

Αυτο που ζητας μπορεις να το βρεις εδω ( http://www.msaccess.gr/index.php/el/-vba/15-2008-12-24-22-04-51)

αλλα και εδω ( http://www.eortologio.gr/arthra/pasxa.php.) Ελπιζω να σε βοηθησα να βρεις αυτο που ζητας.
__________________
Φιλικά

Χρήστος
___________________________
Αυτά που δεν ξέρεις φτιάχνουν μία βιβλιοθήκη που καθένας μας θα ήταν υπερήφανος να έχει.
Αν η γνώση δημιουργεί προβλήματα,η άγνοια σίγουρα δεν μπορεί να τα λύσει.

Τελευταία επεξεργασία από το χρήστη Chris : 02-01-10 στις 11:49.
Απάντηση με παράθεση
  #3  
Παλιά 02-01-10, 12:53
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.236
Προεπιλογή

Καλημέρα σε όλους!
Αγαπητέ φίλε Δημήτρη, σου προτείνω μερικές λύσεις υπολογισμού του Πάσχα
για έτη από το 1924:

Excel

Έστω ότι στο κελί A1 έχουμε το Έτος πχ. 2010.
Ο τύπος για τον υπολογισμό του Πάσχα είναι:

Κώδικας:
=DATE(A1;IF(3+(MOD(19*MOD(A1;19)+16;30))+(MOD(2*(MOD(A1;4))+4*(MOD(A1;7))+6*(MOD(19*MOD(A1;19)+
16;30));7))>30;5;IF(3+(MOD(19*MOD(A1;19)+16;30))+(MOD(2*(MOD(A1;4))+4*(MOD(A1;7))+6*(MOD(19*MOD(A1;19)+16;30))
;7))<1;3;4));IF(3+(MOD(19*MOD(A1;19)+16;30))+(MOD(2*(MOD(A1;4))+4*(MOD(A1;7))+6*(MOD(19*MOD(A1;19)+16;30));7))>30;3+
(MOD(19*MOD(A1;19)+16;30))+(MOD(2*(MOD(A1;4))+4*(MOD(A1;7))+6*(MOD(19*MOD(A1;19)+16;30));7))-30;IF(3+(MOD(19*
MOD(A1;19)+16;30))+(MOD(2*(MOD(A1;4))+4*(MOD(A1;7))+6*(MOD(19*MOD(A1;19)+16;30));7))<1;3+(MOD(19*MOD(A1;19)
+16;30))+(MOD(2*(MOD(A1;4))+4*(MOD(A1;7))+6*(MOD(19*MOD(A1;19)+16;30));7))+31;3+(MOD(19*MOD(A1;19)+16;30))+
(MOD(2*(MOD(A1;4))+4*(MOD(A1;7))+6*(MOD(19*MOD(A1;19)+16;30));7)))))
VBA (για όλα τα προγράμματα του Office)

Κώδικας:
Function P(Y%) As Date 'όπου Y% = το έτος
    P = 3 + ((19 * (Y Mod 19) + 16) Mod 30) + (2 * (Y Mod 4) + 4 * _
    (Y Mod 7) + 6 * ((19 * (Y Mod 19) + 16) Mod 30)) Mod 7
    P = DateSerial(Y, IIf(P > 30, 5, 4), IIf(P > 30, P - 30, P))
End Function

Access

Χρειάζονται 3 πεδία σε μια φόρμα.

Στο πρώτο πεδίο με το όνομα "iDay"
περνάμε τον τύπο:

=3+((19*([iYear] Mod 19)+16) Mod 30)+(2*([iYear] Mod 4)+4*([iYear] Mod 7)+6*((19*([iYear] Mod 19)+16) Mod 30)) Mod 7

Στο δεύτερο πεδίο με το όνομα "iYear" για να δίνουμε το έτος προς υπολογισμό.

Στο τρίτο πεδίο περνάμε τον τύπο:

=IIf(IsNull([iDay]);"";DateSerial([iYear];IIf([iDay]>30;5;4);IIf([iDay]>30;[iDay]-30;[iDay])))

Δείτε και το συνημμένο (Access)

Ελπίζω να βοήθησα

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Pasxa.mdb (216,0 KB, 61 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 16-01-12 στις 14:14.
Απάντηση με παράθεση
  #4  
Παλιά 02-01-10, 15:21
Όνομα: Χρήστος Ελευθερίου
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 26-11-2009
Περιοχή: Άρτεμις
Μηνύματα: 136
Προεπιλογή

Τασο καλησπερα και καλη χρονια

τον κωδικα VBA πω μπορουμε να τον χρησιμοποιησουμε σε Word;
__________________
Φιλικά

Χρήστος
___________________________
Αυτά που δεν ξέρεις φτιάχνουν μία βιβλιοθήκη που καθένας μας θα ήταν υπερήφανος να έχει.
Αν η γνώση δημιουργεί προβλήματα,η άγνοια σίγουρα δεν μπορεί να τα λύσει.
Απάντηση με παράθεση
  #5  
Παλιά 02-01-10, 23:01
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.236
Προεπιλογή

Καλησπέρα σε όλους!
Φίλε Χρήστο, μπορείς κάλλιστα να εφαρμόσεις τον κώδικα σε οποιαδήποτε εφαρμογή περιέχει VB - VBA.
Στο Word μπορείς να χρησιμοποιήσεις το παρακάτω:
Κώδικας:
Option Explicit

Function P(Y%) As Date
    P = 3 + ((19 * (Y Mod 19) + 16) Mod 30) + (2 * (Y Mod 4) + 4 * _
    (Y Mod 7) + 6 * ((19 * (Y Mod 19) + 16) Mod 30)) Mod 7
    P = DateSerial(Y, IIf(P > 30, 5, 4), IIf(P > 30, P - 30, P))
End Function

Sub Pasxa() ' Αυτό τρέχεις
    Dim x%
    On Error Resume Next
    x = InputBox("Enter Year", "Pasxa", Year(Date))
    If x <> 0 And x > 1923 And x < 4000 Then Selection.Text = P(x)
End Sub
Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 02-01-10, 23:34
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Γερμανική
 
Εγγραφή: 31-12-2009
Μηνύματα: 18
Προεπιλογή

Καλησπέρα!

Σας ευχαριστώ πολύ για τις απαντήσεις.
Οι συναρτήσεις στην Access και ο κώδικάς VBA δουλεύουν μια χαρά.
Αντιμετώπισα ένα πρόβλημα στην Excel.

Μου βγάζει το λάθος #NAME?

Κάνω κάτι λάθος;

Ευχαριστώ και πάλι!

Δημήτρης
Απάντηση με παράθεση
  #7  
Παλιά 02-01-10, 23:49
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.236
Προεπιλογή

Καλησπέρα Δημήτρη!
Μόλις τώρα παρατήρησα στο Δημόσιο προφίλ σου ότι έχεις Office στη γερμανική γλώσσα.

Η γερμανική Excel, σε αντίθεση με την Access, δεν αναγνωρίζει το 99% των συναρτήσεων που υπάρχουν σε εκδόσεις όπως η ελληνική ή η αγγλική κατά την πληκτρολόγηση τους.

Χρησιμοποίησε λοιπόν τον παρακάτω τύπο:

Κώδικας:
=DATUM(A1;WENN(3+(REST(19*REST(A1;19)+16;30))+(REST(2*(REST(A1;4))+4*(REST(A1;7))+6*
(REST(19*REST(A1;19)+16;30));7))>30;5;WENN(3+(REST(19*REST(A1;19)+16;30))+(REST(2*(REST(A1;4))+4*(REST(A1;7))+6*
(REST(19*REST(A1;19)+16;30));7))<1;3;4));WENN(3+(REST(19*REST(A1;19)+16;30))+(REST(2*(REST(A1;4))+4*(REST(A1;7))+6*
(REST(19*REST(A1;19)+16;30));7))>30;3+(REST(19*REST(A1;19)+16;30))+(REST(2*(REST(A1;4))+4*(REST(A1;7))+6*
(REST(19*REST(A1;19)+16;30));7))-30;WENN(3+(REST(19*REST(A1;19)+16;30))+(REST(2*(REST(A1;4))+4*(REST(A1;7))+6*
(REST(19*REST(A1;19)+16;30));7))<1;3+(REST(19*REST(A1;19)+16;30))+(REST(2*(REST(A1;4))+4*(REST(A1;7))+6*(REST(
19*REST(A1;19)+16;30));7))+31;3+(REST(19*REST(A1;19)+16;30))+(REST(2*(REST(A1;4))+4*(REST(A1;7))+6*(REST(19
*REST(A1;19)+16;30));7)))))
Έλεγξε για τυχόν κενά στον τύπο που ίσως δημιουργήθηκαν κατά την επικόλληση.

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 16-01-12 στις 14:18.
Απάντηση με παράθεση
  #8  
Παλιά 03-01-10, 00:22
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Γερμανική
 
Εγγραφή: 31-12-2009
Μηνύματα: 18
Προεπιλογή

Τάσο, σ ευχαριστώ πολύ!

Έπαιξε αμέσως!

Δημήτρης
Απάντηση με παράθεση
  #9  
Παλιά 16-01-12, 13:25
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.402
Προεπιλογή

Καλημέρα
Θα ήθελα να κάνω μία παρατήρηση αν και το επίπεδο μου είναι πολύ πιό κάτω από του φίλου Τάσου
Όσοι φίλοι κάνουν copy paste τον εξαιρετικό τύπο στο EXCEL για τον υπολογισμό Πάσχα
να προσέξουν γιατί υπάρχουν "κενά" όπως στα M OD της 1ης και 3ης σειράς και σε κάποια άλλα σημεία με αποτέλεσμα να μην λειτουργεί σωστά για κάποιες χρονιές.
Χαίρομαι πάντως που ο τύπος υπολογίζει τα χρόνια από το 1924 έτος ίδρυσης της ΑΕΚ !!!

Με πολύ σεβασμό στις γνώσεις του Τάσου.
Φιλικά ΣΠΥΡΟΣ
Απάντηση με παράθεση
  #10  
Παλιά 16-01-12, 14:28
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.236
Προεπιλογή

Καλησπέρα σε όλους!

Αγαπητέ Σπύρο, σωστή η παρατήρηση σου.

Τα κενά που παρουσιάζονται στους τύπους δημιουργούνται κατά την επικόλληση τους στον επεξεργαστή του μηνύματος.

Αν βάλουμε τους τύπους σε πλαίσιο κώδικα (το έκανα ήδη σ αυτό το θέμα) νομίζω ότι βελτιώνεται η κατάσταση.

Να είσαι καλά και σ ευχαριστώ για τη συμμετοχή σου!

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Υπολογισμός φπα q.mrk Access - Ερωτήσεις / Απαντήσεις 1 18-03-15 19:10
Υπολογισμός ημερομηνίας Ορθόδοξου Πάσχα με δεδομένο το έτος Tasos Access - Tips & Tricks 0 05-05-13 18:57
[Συναρτήσεις] Υπολογισμός ημερομηνίας Ορθόδοξου Πάσχα με δεδομένο το έτος Tasos Excel - Tips & Tricks 0 05-05-13 18:52
Υπολογισμός της ημέρας του Άγιου Πάσχα και άλλων κινητών εορτών. Tasos Ημερομηνία & ώρα 0 21-09-11 16:18


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