Πίνακας περιεχομένων:
Βίντεο: Τι προσφέρει το Σύστημα Αρχείων. 2025
Εάν χρησιμοποιείτε πολλά κελιά και σειρές που ονομάζονται στο βιβλίο εργασίας σας, μπορεί να εκπλαγείτε να ανακαλύψετε ότι το Excel δεν παρέχει τρόπο καταχώρησης των λεπτομερειών για κάθε όνομα. Χρήσιμες πληροφορίες εμφανίζονται στο παράθυρο διαλόγου Διαχείριση ονόματος, αλλά δεν υπάρχει τρόπος να εμφανιστούν αυτές οι πληροφορίες κατά τρόπο που να μπορούν να εκτυπωθούν.
Ο κώδικας VBA που προσφέρεται εδώ δημιουργεί μια χρήσιμη αναφορά που περιγράφει τα ονόματα που ορίζονται σε οποιοδήποτε βιβλίο εργασίας.
Παράδειγμα Όνομα Αναφορά
Εδώ εμφανίζεται ένα παράδειγμα Αναφοράς Ονομάτων.
Η αναφορά, η οποία δημιουργείται σε ένα νέο φύλλο εργασίας, περιλαμβάνει τις ακόλουθες πληροφορίες για κάθε όνομα:
-
Όνομα: Το όνομα.
-
RefersTo: Ο ορισμός του ονόματος. Συνήθως, αυτό θα είναι ένα κελί ή μία περιοχή, αλλά ένα όνομα μπορεί επίσης να ορίζει τύπο.
-
Κύτταρα: Ο αριθμός των κυττάρων που περιέχονται στην οριζόμενη περιοχή. Για τους τύπους που ονομάζονται, το πεδίο αυτό εμφανίζει # N / A.
-
Πεδίο εφαρμογής: Το πεδίο του ονόματος - είτε βιβλίο εργασίας είτε το όνομα του συγκεκριμένου φύλλου εργασίας στο οποίο είναι έγκυρο το όνομα.
-
Κρυφό: Αληθινό αν το όνομα είναι κρυφό. Τα κρυμμένα ονόματα δημιουργούνται από κάποια πρόσθετα (όπως το Επίλυση) και δεν εμφανίζονται στο παράθυρο διαλόγου Διαχείριση ονόματος.
-
Σφάλμα: Αληθινό αν το όνομα περιέχει εσφαλμένη αναφορά.
-
Σύνδεσμος: Ένας υπερσύνδεσμος που, όταν κάνει κλικ, ενεργοποιεί το όνομα φάσματος. Μόνο τα ονόματα που αναφέρονται σε κελιά ή σειρές περιλαμβάνουν έναν σύνδεσμο.
-
Σχόλιο: Το σχόλιο για το όνομα, αν υπάρχει.
Ο κώδικας VBA
Για να χρησιμοποιήσετε αυτόν τον κωδικό, πατήστε Alt + F11 για να ενεργοποιήσετε την Επεξεργαστή της Visual Basic. Στη συνέχεια, επιλέξτε Εισαγωγή → Ενότητα για να εισαγάγετε μια νέα μονάδα VBA. Αντιγράψτε τον κώδικα και επικολλήστε τον στη νέα ενότητα.
Sub GenerateNameReport () 'Δημιουργεί μια αναφορά για όλα τα ονόματα στο βιβλίο εργασίας' (Δεν περιλαμβάνει ονόματα πίνακα) Dim n As Όνομα Dim Row As Long Dim CellCount As Variant 'Έξοδος αν δεν υπάρχουν ονόματα Αν ActiveWorkbook. Ονόματα. Count = 0 Στη συνέχεια MsgBox "Το ενεργό βιβλίο εργασίας δεν έχει καθορισμένα ονόματα. "Exit Sub End If 'Έξοδος αν το βιβλίο εργασίας είναι προστατευμένο Αν ActiveWorkbook. ProtectStructure Then MsgBox "Ένα νέο φύλλο δεν μπορεί να προστεθεί επειδή το βιβλίο εργασίας είναι προστατευμένο. "Exit Sub End If" Εισάγετε ένα νέο φύλλο για την αναφορά ActiveWorkbook. Φύλλα εργασίας. Προσθέστε το ActiveSheet. Μετακίνηση μετά: = Φύλλα (ActiveWorkbook. DisplayGridlines = False 'Προσθέστε την πρώτη γραμμή τίτλου Range ("A1: H1"). Συγχώνευση με εμβέλεια ("A1"). Τιμή = "Αναφορά ονόματος για:" & ActiveWorkbook. Ονομα. Γραμματοσειρά. Μέγεθος = 14. Γραμματοσειρά. Bold = True. HorizontalAlignment = xlCenter End With 'Προσθέστε τη δεύτερη γραμμή τίτλου Range ("A2: H2"). Συγχώνευση με εμβέλεια ("A2"). Τιμή = "Δημιουργήθηκε" & Τώρα. HorizontalAlignment = Έξοδος xlCenter Με την προσθήκη των επικεφαλίδων Εύρος ("A4: H4") = Array ("Όνομα", "RefersTo", "Cells", "Scope", "Hidden" Σχόλιο ") 'Βρόχος μέσω των ονομάτων Row = 4 Το σφάλμα συνεχίζεται Επόμενο για κάθε n Στο ActiveWorkbook.Ονόματα Γραμμή = Σειρά + 1 'Στήλη A: Όνομα Αν n. Όνομα Όπως "*! * "Στη συνέχεια, τα κελιά (Row, 1) = Διαίρεση (n. Όνομα,"! ") (1) 'Αφαίρεση ονόματος φύλλου Else Cells (Row, 1) = n. Ονομασία Τέλος Αν "Στήλη Β: Αναφέρεται σε κελιά (Row, 2) =" '"& n. Αναφέρεται στη στήλη C: Αριθμός κυττάρων CellCount = CVErr (xlErrNA) 'Επιστρεφόμενη τιμή για τον ορισμένο τύπο CellCount = n. RefersToRange. CountLarge Cells (Σειρά, 3) = Στήλη CellCount 'D: Πεδίο εφαρμογής Αν n. Όνομα Όπως "*! "*" "Κατόπιν τα κελιά (Row, 4) = Διαίρεση (n. Όνομα,"! ") 'αφαίρεση απόστροφων Αλλοι κυψελίδες (Row, 4) =' Βιβλίο εργασίας 'Τέλος αν' Στήλη E: Κρυμμένη κατάσταση Κύτταρα (Σειρά, 5) = Όχι n. Ορατή "Στήλη F: Σφάλμα όνομα Κύτταρα (Σειρά, 6) = n. Αναφέρεται σαν "* [#] REF! * "'Στήλη G: Υπερσύνδεση αν δεν είναι η εφαρμογή. IsNA (Κύτταρα (Row, 3)) Στη συνέχεια ActiveSheet. Υπερσύνδεσμοι. Προσθέστε _ Άγκυρα: = Κύτταρα (Γραμμή, 7), _ Διεύθυνση: = "", _ Υποδιαστολή: = n. Όνομα, _ TextToDisplay: = n. Ονοματεπώνυμο Τέλος Αν 'Στήλη Η: Σχόλια Κύτταρα (Σειρά, 8) = n. Σχόλιο Επόμενο n 'Μετατροπή σε πίνακα ActiveSheet. ListObjects. Προσθέστε _ SourceType: = xlSrcRange, _ Πηγή: = Εύρος ("A4"). CurrentRegion 'Προσαρμόστε τις στήλες πλάτους στήλης ("A: H"). ΣυνολικόΚολάου. AutoFit End Sub
Δημιουργία αναφοράς
Εκτελέστε τη διαδικασία GenerateNameReport και η αναφορά δημιουργείται σε ένα νέο φύλλο εργασίας στο ενεργό βιβλίο εργασίας. Ο κώδικας δεν χρειάζεται να βρίσκεται στο βιβλίο εργασίας που περιέχει τα ονόματα της αναφοράς.
Αν βρείτε αυτόν τον κώδικα χρήσιμο, μπορεί να θέλετε να το αποθηκεύσετε στο βιβλίο εργασίας προσωπικών μακροεντολών σας ή να δημιουργήσετε ένα πρόσθετο.