VBA Λήψη ονόματος φύλλου / Μετονομασία φύλλου

Αυτό το σεμινάριο θα καλύψει την αλληλεπίδραση με ονόματα φύλλων στο VBA.

Λήψη ονόματος φύλλου

Τα ονόματα των φύλλων αποθηκεύονται στο Ονομα ιδιοκτησία του Φύλλα ή Φύλλα εργασίας αντικείμενο. Το όνομα φύλλου είναι το όνομα "καρτέλας" που είναι ορατό στο κάτω μέρος του Excel:

Λήψη ονόματος ActiveSheet

Αυτό θα εμφανίσει το όνομα του ActiveSheet σε ένα πλαίσιο μηνυμάτων:

1 MsgBox ActiveSheet.Name

Λήψη ονόματος φύλλου ανά αριθμό ευρετηρίου

Αυτό θα εμφανίσει το πρώτο όνομα φύλλου εργασίας σε ένα πλαίσιο μηνυμάτων:

1 MsgBox Sheets (1). Όνομα

Αυτό θα εμφανίσει το όνομα του τελευταίου φύλλου εργασίας στο βιβλίο εργασίας:

1 MsgBox Sheets (Sheets.Count). Όνομα

Λήψη ονόματος φύλλου με κωδικό όνομα

Στο πρόγραμμα επεξεργασίας VBA, υπάρχει η επιλογή αλλαγής του "κωδικού ονόματος" ενός φύλλου. Το κωδικό όνομα δεν είναι ορατό στον χρήστη του Excel και μπορεί να δει μόνο στον επεξεργαστή VBA:

Στο VBA, όταν εργάζεστε με φύλλα, μπορείτε να αναφέρετε το συνηθισμένο όνομα καρτέλας:

1 Φύλλα ("Όνομα καρτέλας"). Ενεργοποιήστε

ή το κωδικό όνομα VBA:

1 Κωδικό όνομα. Ενεργοποιήστε

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

Για να λάβετε το όνομα του φύλλου χρησιμοποιώντας το όνομα κωδικού VBA, κάντε τα εξής:

1 MsgBox CodeName.Name

Μετονομασία φύλλου

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

Μετονομασία ActiveSheet

1 ActiveSheet.Name = "NewName"

Μετονομασία φύλλου με όνομα

1 Φύλλα ("OldSheet"). Name = "NewName"

Μετονομασία φύλλου με αριθμό ευρετηρίου φύλλου

Εδώ χρησιμοποιούμε το 1 για να μετονομάσουμε το πρώτο φύλλο στο τετράδιο εργασίας.

1 Φύλλα (1) .Name = "NewName"

Μετονομασία φύλλου με κωδικό όνομα

Αυτός ο κωδικός θα μετονομάσει ένα φύλλο χρησιμοποιώντας το κωδικό του όνομα VBA (συζητήθηκε παραπάνω):

1 Component.Name = "NewName"

Ελέγξτε αν υπάρχει όνομα φύλλου

Δημιουργήσαμε μια συνάρτηση για να ελέγξουμε εάν υπάρχει ήδη ένα Φύλλο με ένα συγκεκριμένο όνομα.

123456789101112 «Δοκιμάστε αν υπάρχει εύρος σε φύλλο.'Αφήστε το εύρος κενό για να ελέγξετε εάν υπάρχει φύλλο'Εισόδους:'WhatSheet - String Name of Sheet (ex "Sheet1")'WhatRange (Προαιρετικό, Προεπιλογή = "A1") - Όνομα συμβολοσειράς εύρους (πρώην "A1")RangeExists (WhatSheet As String, Optional ByVal WhatRange As String = "A1") As BooleanDim test As RangeΣτο Σφάλμα Συνέχιση ΕπόμενοΟρισμός δοκιμής = ActiveWorkbook.Sheets (WhatSheet) .Range (WhatRange)RangeExists = Err.Number = 0Σφάλμα GoTo 0Λειτουργία Τέλους

Η συνάρτηση θα επιστρέψει TRUE εάν υπάρχει το Φύλλο ή FALSE εάν δεν υπάρχει.

Χρησιμοποιήστε τη συνάρτηση ως εξής:

123 Sub Test_SheetExists ()MsgBox RangeExists ("εγκατάσταση")Τέλος υπο

Αντιγραφή φύλλου και μετονομασία

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

Μετά την αντιγραφή και επικόλληση ενός φύλλου, το νέο φύλλο γίνεται το ActiveSheet. Έτσι, για να μετονομάσετε ένα αντιγραμμένο φύλλο, χρησιμοποιήστε απλά το ActiveSheet. Όνομα:

12345678 Sub CopySheetRename2 ()Φύλλα ("Sheet1"). Αντιγραφή μετά: = Φύλλα (Sheets.Count)Στο Σφάλμα Συνέχιση ΕπόμενοActiveSheet.Name = "LastSheet"Σφάλμα GoTo 0Τέλος υπο

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

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave