ΕΚΤΥΠΩΣΗ ΑΠΟΔΕΙΞΗΣ

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

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

Η εφαρμογή μας αποτελείται από δύο φύλλα εργασίας. Στο πρώτο φύλλο θα εισαγάγουμε κωδικούς προϊόντων και ποσότητες και αυτόματα θα εμφανίζεται η περιγραφή και η τιμή τού προϊόντος. Τα δεδομένα αυτά θα προέρχονται από το δεύτερο φύλλο εργασίας. Επίσης θα υπολογίζεται και θα εμφανίζεται η αξία και ο αναλογών ΦΠΑ κάθε αγοράς.

Μετά την τελευταία καταχώριση θα κάνουμε κλικ στο κουμπί Υπολογισμός και θα εμφανίζονται τα σύνολα των αγορών. Με κλικ στο κουμπί Εκτύπωση θα γίνεται η εκτύπωση της απόδειξης.

Εμφανίζουμε τη γραμμή εργαλείων Φόρμες και δημιουργούμε τέσσερα κουμπιά, στα οποία αργότερα θα αντιστοιχίσουμε διαδικασίες με εντολές της Visual Basic.

Το δεύτερο φύλλο εργασίας, που το ονομάζουμε Αποθήκη, περιέχει τα δεδομένα τής επόμενης οθόνης.

Δίνουμε το όνομα Προϊόντα στην περιοχή κελιών Α2:Ε6.

Στο κελί C4 του φύλλου εργασίας Απόδειξη εισάγουμε τον τύπο:

=IF(ISNA(VLOOKUP(Απόδειξη!$B4;Απόδειξη1!Προϊόντα;2;FALSE));"";VLOOKUP(Απόδειξη!$B4;Απόδειξη1!Προϊόντα;2;FALSE))

Σύμφωνα με τον παραπάνω τύπο , η συνάρτηση VLOOKUP θα αναζητήσει την τιμή του κελιού Β4 (κωδικό προϊόντος) στην περιοχή Προϊόντα.  Αν βρεθεί ταύτιση τιμών, θα επιστραφεί η τιμή του κελιού που βρίσκεται στην ίδια γραμμή και στη 2η στήλη τού πίνακα (περιγραφή προϊόντος). Σε διαφορετική περίπτωση θα επιστραφεί το κενό αλφαριθμητικό.

Στο κελί D4 εισάγουμε τον τύπο:
=IF(ISNA(VLOOKUP(Απόδειξη!$B4;Απόδειξη1!Προϊόντα;4;FALSE));"";VLOOKUP(Απόδειξη!$B4;Απόδειξη1!Προϊόντα;4;FALSE))

Με τον τύπο αυτό κάνουμε την ίδια αναζήτηση, αλλά θέλουμε στην περίπτωση που βρεθεί τιμή, να επιστραφεί η τιμή του κελιού που βρίσκεται στην ίδια γραμμή και στην 4η στήλη του πίνακα.

Στο κελί F4 εισάγουμε τον τύπο:

=IF(ISNUMBER($D4);$D4*$E4;"")

 Ελέγχουμε, δηλαδή, αν το περιεχόμενο του D4 είναι αριθμός και αν αυτό συμβαίνει, υπολογίζουμε την αξία τής αγοράς (τιμή επί ποσότητα).

Στο κελί G4 εισάγουμε τον τύπο:

=IF(ISNA(VLOOKUP(Απόδειξη!$B4;Απόδειξη1!Προϊόντα;5;FALSE));"";VLOOKUP(Απόδειξη!$B4;Απόδειξη1!Προϊόντα;5;FALSE)*$F4)

με τη βοήθεια του οποίου βρίσκουμε το ποσοστό του ΦΠΑ που αναλογεί στο προϊόν (5η στήλη της περιοχής Προϊόντα) και υπολογίζουμε το ποσό του φόρου αυτού.

Όλοι οι παραπάνω τύποι θα αντιγράφονται μέσω κώδικα, σε κάθε νέα εγγραφή που θα εισάγουμε στην απόδειξη.

Το πρώτο βήμα τής εφαρμογής είναι να εισάγουμε κάνοντας κλικ στο κουμπί Ημερομηνία, την τρέχουσα ημερομηνία στο κελί C1. Γι' αυτό δημιουργούμε μία μακροεντολή (διαδικασία) με όνομα Εισαγωγή_Ημερομηνίας στο ανοιχτό βιβλίο εργασίας και πληκτρολογούμε τον παρακάτω κώδικα.

Για να εμφανίσουμε το περιβάλλον της Visual Basic πατάμε το συνδυασμό πλήκτρων [Alt] + [F11].

Η πρώτη πρόταση του κώδικα επιλέγει το κελί C1. Η δεύτερη εντολή εισάγει την τρέχουσα ημερομηνία στο ενεργό κελί. Στη συνέχεια ενεργοποιούμε το κελί B6 και καλούμε μία νέα διαδικασία με όνομα Νέα_Εγγραφή, για να αντιγράψουμε τους τύπους αναζήτησης και υπολογισμών.

Στην ίδια λειτουργική μονάδα πληκτρολογούμε τον κώδικα τής παρακάτω οθόνης.

Η παραπάνω διαδικασία εκχωρεί σε μία ακέραια μεταβλητή τον αριθμό τής τρέχουσας γραμμής. Στη συνέχεια αντιγράφει τους τύπους που καταχωρίσαμε αρχικά στα κελιά C4, D4, F4 και G4, στα αντίστοιχα κελιά τής τρέχουσας γραμμής. Αντιστοιχίζουμε τη μακροεντολή στο κουμπί Νέα Εγγραφή.

Έτσι με κάθε κλικ στο κουμπί αυτό, θα αντιγράφονται οι τύποι στην τρέχουσα γραμμή. Το μόνο που χρειάζεται να κάνουμε είναι να πληκτρολογούμε κωδικό προϊόντος και ποσότητα.  Όταν τελειώσουμε την εισαγωγή των εγγραφών, θα κάνουμε κλικ στο κουμπί Υπολογισμός για να

εμφανιστούν τα συνολικά ποσά. Για το λόγο αυτό δημιουργούμε μία νέα διαδικασία με όνομα Υπολογισμός που περιέχει τις παρακάτω εντολές:

Η πρώτη εντολή ενεργοποιεί το κελί που βρίσκεται μία γραμμή κάτω και μία στήλη δεξιά από το ενεργό κελί. Ο τύπος που αντιγράφουμε στο κελί αυτό είναι

=SUM(R6C:R[-2]C)

θέλουμε, δηλαδή, στο ενεργό κελί να υπολογιστεί το άθροισμα των κελιών που βρίσκονται στην ίδια στήλη (ίδιο C) και μεταξύ της γραμμής 6 και της γραμμής που βρίσκεται δύο γραμμές πάνω από την τρέχουσα. Με τον τύπο αυτό, υπολογίζουμε το σύνολο των αγορών.

Εκτός από το κλασικό στυλ αναφοράς που χρησιμοποιεί συνδυασμούς γραμμάτων και αριθμών, όπως Α1, μπορούμε να χρησιμοποιήσουμε το στυλ αναφοράς R1C1. Στο στυλ αυτό, η θέση ενός κελιού υποδεικνύεται με ένα R (Row) και έναν αριθμό γραμμής και ένα C (Column) με έναν αριθμό στήλης.
Έτσι, για παράδειγμα, η αναφορά κελιού R1C1 είναι ισοδύναμη με την αναφορά $Α$1 στο στυλ αναφοράς Α1. Ακολουθούν μερικά παραδείγματα αναφορών σε στυλ R1C1.
 
R[-1]C Σχετική αναφορά στο κελί που βρίσκεται μία γραμμή πάνω και στην ίδια στήλη.
R[3]C[2]  Σχετική αναφορά στο κελί που βρίσκεται τρεις γραμμές κάτω και δύο στήλες δεξιά.
R2C2 Απόλυτη αναφορά στο κελί που βρίσκεται στη δεύτερη γραμμή και δεύτερη στήλη

 Η τρίτη εντολή τής διαδικασίας ενεργοποιεί το κελί που βρίσκεται στην ίδια γραμμή και μία στήλη δεξιά. Στο κελί αυτό, αντιγράφουμε τον τύπο που υπολογίζει το συνολικό ποσό του ΦΠΑ.

Η πέμπτη εντολή ενεργοποιεί το κελί που βρίσκεται δύο γραμμές κάτω και μία στήλη αριστερά. Στη συνέχεια μορφοποιούμε το ενεργό κελί με έντονη γραφή και εισάγουμε το κείμενο "Γενικό Σύνολο".

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

Για το λόγο αυτό αθροίζει με τη βοήθεια τού τύπου

=SUM(R[-2]C[-1]:R[-2]C)

τα περιεχόμενα των δύο κελιών, που βρίσκονται δύο γραμμές πάνω και μία στήλη αριστερά το ένα και στην ίδια στήλη το άλλο. Η τελευταία εντολή απλά μορφοποιεί το κελί με έντονη γραφή.

Το τελευταίο βήμα τής εφαρμογής είναι να αντιστοιχίσουμε στο τέταρτο κουμπί μία μακροεντολή που εκτυπώνει την απόδειξη. Η διαδικασία Εκτύπωση_Απόδειξης περιέχει μία μόνο εντολή που εκτυπώνει το τρέχον φύλλο εργασίας σε ένα αντίτυπο.

Για να δοκιμάσουμε την εφαρμογή, εισάγουμε τα δεδομένα τής παρακάτω οθόνης.

Η πρώτη μας κίνηση είναι να κάνουμε κλικ στο κουμπί Ημερομηνία. Το Excel εισάγει την ημερομηνία στο κελί C1 και ενεργοποιεί το κελί B6.

Στη συνέχεια αντιγράφει τους τύπους της γραμμής 4 στα αντίστοιχα κελιά τής τρέχουσας γραμμής. Πληκτρολογούμε τον κωδικό 555, οπότε εισάγει στα υπόλοιπα κελιά τις τιμές από το φύλλο εργασίας Αποθήκη. Πληκτρολογούμε επίσης την ποσότητα για να υπολογιστεί το ποσό της αξίας και του ΦΠΑ. Για κάθε νέα εγγραφή κάνουμε κλικ στο κουμπί Νέα Εγγραφή.

Μετά και την τελευταία εισαγωγή, φροντίζουμε να είναι ενεργό κελί αυτό που βρίσκεται μία γραμμή κάτω από την τελευταία τιμή ποσότητας.  Διαφορετικά η μακροεντολή Υπολογισμός θα εμφανίσει λανθασμένα αποτελέσματα.  Έτσι, στο παράδειγμά μας, πρέπει ενεργό κελί να είναι το E11.
Κάνουμε κλικ στο κουμπί Εκτύπωση, για να εκτυπωθεί η απόδειξη.

Αφού κάνουμε μερικές δοκιμές ακόμη για να βεβαιωθούμε ότι η εφαρμογή μας δουλεύει άψογα, θα αποθηκεύσουμε το βιβλίο εργασίας σαν πρότυπο. Διαγράφουμε όλα τα δεδομένα που εισαγάγαμε και επιλέγουμε τη διαταγή Αρχείο  Αποθήκευση ως.

Δίνουμε ένα όνομα στο αρχείο, πχ. Απόδειξη και από το πλαίσιο "Αποθήκευση ως τύπος" επιλέγουμε Πρότυπο. Κάνουμε κλικ στο κουμπί Αποθήκευση. Το Excel θα αποθηκεύσει το αρχείο με όνομα Απόδειξη.xlt στο φάκελο Tamblates.

Για να χρησιμοποιήσουμε το πρότυπο, επιλέγουμε τη διαταγή Δημιουργία από το μενού Αρχείο.

Στο παράθυρο διαλόγου που εμφανίζεται, κάνουμε διπλό κλικ στο εικονίδιο Απόδειξη. Το Excel θα μας διαθέσει ένα νέο βιβλίο εργασίας με όνομα Απόδειξη1, έτοιμο για την έκδοση νέας απόδειξης.