Εκτύπωση δεδομένων από διαφορετικά φύλλα χρησιμοποιώντας VBA στο Microsoft Excel

Anonim

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

Έχουμε διαφορετικά ακατέργαστα δεδομένα σε δύο φύλλα και θέλουμε να προσαρμόσουμε την εκτύπωση από αυτά τα φύλλα.

Πριν από την εκτέλεση της μακροεντολής, πρέπει να καθορίσουμε τον τύπο της εκτύπωσης που απαιτείται και να καθορίσουμε το όνομα, το εύρος ή την προσαρμοσμένη προβολή.

Δημιουργήσαμε μια προσαρμοσμένη προβολή "customView1".

Λογική εξήγηση

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

Για τον τύπο 1, πρέπει να καθορίσουμε το όνομα του φύλλου στην επόμενη στήλη.

Για τον τύπο 2, πρέπει να καθορίσουμε το εύρος για το οποίο θέλουμε την εκτύπωση.

Για τον τύπο 3, πρέπει να καθορίσουμε το όνομα της προσαρμοσμένης προβολής.

Επεξήγηση κώδικα

Για κάθε κελί 1 σε εύρος ("A13", ActiveCell.End (xlDown))

Ο παραπάνω κώδικας χρησιμοποιείται για τον βρόχο ξεκινώντας από το κελί A13 έως την τελευταία σειρά.

DefinedName = ActiveCell.Offset (0, 1). Αξία

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

Επιλέξτε Cell Cell1.Value

Περίπτωση 1

'Επιλογή του καθορισμένου φύλλου

Φύλλα (καθορισμένο όνομα). Επιλέξτε

Υπόθεση 2

'Επιλογή του καθορισμένου εύρους

Application.Goto Reference: = DefinedName

Υπόθεση 3

'Επιλογή της καθορισμένης προσαρμοσμένης προβολής

ActiveWorkbook.CustomViews (DefinedName) .Show

Τέλος Επιλογή

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

ActiveWindow.SelectedSheets.PrintOut

Ο παραπάνω κώδικας χρησιμοποιείται για την εκτύπωση της επιλεγμένης περιοχής.

Ακολουθήστε παρακάτω για τον κωδικό

 Option Explicit Sub PrintReports () 'Declared variables Dim DefinedName As String Dim Cell1 As Range' Απενεργοποίηση ενημερώσεων οθόνης Application.ScreenUpdating = False 'Looping through all the cells For Every Cell1 In Range ("A13", ActiveCell.End (xlDown)) Sheets ("Κύρια"). Ενεργοποιήστε την "Επιλογή του κελιού κελιού 1. Επιλέξτε" Λήψη τιμής ονόματος φύλλου ή καθορισμένου εύρους DefinedName = ActiveCell.Offset (0, 1). Value Select Case Cell1.Value Case 1 "Επιλογή των καθορισμένων φύλλων φύλλων (DefinedName ) .Επιλέξτε Περίπτωση 2 'Επιλογή της εφαρμογής που ορίζεται. Εύκολη αναφορά: = Περίπτωση καθορισμένου ονόματος 3' Επιλογή της καθορισμένης προσαρμοσμένης προβολής ActiveWorkbook.CustomViews (DefinedName). Εμφάνιση τερματισμού επιλογής 'Εκτύπωση των απαιτούμενων δεδομένων ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email