Συμπλήρωση των εντύπων με στοιχεία από τον πίνακα

Διατύπωση του προβλήματος

Έχουμε μια βάση δεδομένων (λίστα, πίνακας – πείτε το όπως θέλετε) με πληροφορίες για πληρωμές σε φύλλο ημερομηνία:

Έργο: εκτυπώστε γρήγορα μια απόδειξη μετρητών (πληρωμή, τιμολόγιο…) για οποιαδήποτε επιθυμητή καταχώριση επιλεγεί από αυτήν τη λίστα. Πηγαίνω!

Βήμα 1. Δημιουργήστε μια φόρμα

Σε ένα άλλο φύλλο του βιβλίου (ας το ονομάσουμε αυτό το φύλλο Μορφή) δημιουργήστε μια κενή φόρμα. Μπορείτε να το κάνετε μόνοι σας, μπορείτε να χρησιμοποιήσετε έτοιμες φόρμες, που λαμβάνονται, για παράδειγμα, από τους ιστότοπους του περιοδικού Chief Accountant ή τον ιστότοπο της Microsoft. Πήρα κάτι σαν αυτό:

Συμπλήρωση των εντύπων με στοιχεία από τον πίνακα

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

Βήμα 2: Προετοιμασία του πίνακα πληρωμών

Πριν λάβουμε δεδομένα από τον πίνακα για τη φόρμα μας, ο πίνακας πρέπει να εκσυγχρονιστεί ελαφρώς. Δηλαδή, εισαγάγετε μια κενή στήλη στα αριστερά του πίνακα. Θα χρησιμοποιήσουμε για να εισάγουμε μια ετικέτα (ας είναι το αγγλικό γράμμα "x") απέναντι από τη γραμμή από την οποία θέλουμε να προσθέσουμε δεδομένα στη φόρμα:

Βήμα 3. Σύνδεση πίνακα και φόρμας

Για επικοινωνία, χρησιμοποιούμε τη συνάρτηση VPR(VLOOKUP) – μπορείτε να διαβάσετε περισσότερα σχετικά εδώ. Στην περίπτωσή μας, για να εισαγάγετε τον αριθμό της πληρωμής με την ένδειξη "x" από το φύλλο δεδομένων στο κελί F9 της φόρμας, πρέπει να εισαγάγετε τον ακόλουθο τύπο στο κελί F9:

=VLOOKUP("x",Δεδομένα!A2:G16)

=VLOOKUP("x";Δεδομένα!B2:G16;2;0)

Εκείνοι. μεταφρασμένη σε «κατανοητό», η συνάρτηση θα πρέπει να βρει στο εύρος A2: G16 στο φύλλο δεδομένων μια γραμμή που ξεκινά με τον χαρακτήρα «x» και να μας δώσει τα περιεχόμενα της δεύτερης στήλης αυτής της γραμμής, δηλαδή τον αριθμό πληρωμής.

Όλα τα άλλα κελιά της φόρμας συμπληρώνονται με τον ίδιο τρόπο – μόνο ο αριθμός της στήλης αλλάζει στον τύπο.

Για να εμφανίσω το ποσό σε λέξεις, χρησιμοποίησα τη συνάρτηση Ίδια από το πρόσθετο PLEX.

Το αποτέλεσμα θα πρέπει να είναι το εξής:

Συμπλήρωση των εντύπων με στοιχεία από τον πίνακα

Βήμα 4. Για να μην υπάρχουν δύο «x»…

Εάν ο χρήστης εισάγει "x" σε πολλές γραμμές, η συνάρτηση VLOOKUP θα λάβει μόνο την πρώτη τιμή που θα βρει. Για να αποφύγετε μια τέτοια ασάφεια, κάντε δεξί κλικ στην καρτέλα του φύλλου ημερομηνία και στη συνέχεια Κείμενο πηγής (Κωδικός πηγής). Στο παράθυρο του προγράμματος επεξεργασίας της Visual Basic που εμφανίζεται, αντιγράψτε τον ακόλουθο κώδικα:

Ιδιωτικό δευτερεύον φύλλο εργασίας_Change(ByVal Target As Range) Dim r όσο το Long Dim str Ως συμβολοσειρά Εάν Target.Count > 1 Στη συνέχεια πραγματοποιήστε έξοδο από το Sub If Target.Column = 1 Στη συνέχεια str = Target.Value Application.EnableEvents = False r = Cells(Rows.Count , 2).End(xlUp).Row Range("A2:A" & r).ClearContents Target.Value =str End If Application.EnableEvents = True End Sub  

Αυτή η μακροεντολή εμποδίζει τον χρήστη να εισάγει περισσότερα από ένα "x" στην πρώτη στήλη.

Λοιπόν, αυτό είναι όλο! Απολαμβάνω!

  • Χρησιμοποιώντας τη συνάρτηση VLOOKUP για αντικατάσταση τιμών
  • Μια βελτιωμένη έκδοση της συνάρτησης VLOOKUP
  • Ποσό σε λέξεις (συνάρτηση Propis) από το πρόσθετο PLEX

 

Αφήστε μια απάντηση