Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Excel07] Ονομασία καρτέλας σε φύλλο Excel απευθείας από επιλεγμένο κελί...; (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/880-onomasia-kartelas-se-fillo-excel-apeytheias-apo-epilegmeno-keli.html)

Iceland 14-12-10 22:26

Ονομασία καρτέλας σε φύλλο Excel απευθείας από επιλεγμένο κελί...;
 
Καλησπέρα σε όλους στο forum.

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

Θα ήθελα να γνωρίζω αν γίνεται από συγκεκριμένο-επιλεγμένο κελί να μπορεί να μετονομάζεται απευθείας ολόκληρο το φύλλο. Φαντάζομαι με χρήση κάποιου κώδικα (στις επιλογές του φύλλου μας εμφανίζει "προβολή κώδικα") οπότε με πονηρεύει.

Παρακαλώ για τα φώτα σας

Ευχαριστώ εκ των προτέρων

Γιώργος

gr8styl 14-12-10 22:52

Καλησπέρα φίλε Γιώργο
ο παρακάτω κώδικας μετονομάζει το τρέχον φύλλο σύμφωνα με τα περιεχόμενα του κελιού a2.
Προσοχή το a2 δεν μπορεί να περιέχει οτιδήποτε αλλά πρέπει να σέβεται του κανόνες ονομασίας φύλλων. Για το λόγο αυτό έχω προσθέση την On Error Resume Next Δηλαδή αν το όνομα δεν είναι αποδεκτό δεν κάνει τίποτα.
Κώδικας:

Sub name_sheet_from_cell()
    On Error Resume Next
    ActiveSheet.Name = ActiveSheet.Range("$a$2")
End Sub

Κάνεις επικόλληση του κώδικα σε ένα module (ανοίγεις τον VBA editor με Alt+F11και μενού Insert/Module αν δεν υπάρχει ήδη κάποιο module)

Τα λέμε
Θανάσης

Iceland 15-12-10 22:41

Θανάση σ' ευχαριστώ πολύ για την άμεση απάντηση.

Συμπτωματικά και εγώ στο κελί α2 έχω την ονομασία :047:

Να σε ρωτήσω όμως. Για να αλλάξει η ονομασία πρέπει να κάνω "εκτέλεση" κάθε φορά στις μακροεντολές. Έχεις κανένα κολπάκι για αυτόματη εκτέλεση. Μήπως θέλει κάτι διαφορετικό στις ρυθμίσεις;

Όπως και να 'χει πάντως είναι πολύ βολικό και δε περίμενα να υπάρχει κάτι τέτοιο...


Ευχαριστώ πολύ,

Γιώργος

gr8styl 16-12-10 12:22

Καλημέρα Γιώργο
Για να αλλάζει αυτόματα το όνομα με το που αλλάζουν τα περιεχόμενα του Α2 αρκεί να χρησιμοποιήσεις το συμβάν Worksheet_Change

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

Κώδικας:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
    On Error Resume Next
    ActiveSheet.Name = Target
End If
End Sub

Τα λέμε
Θανάσης

Μιχάλης2017 04-07-17 20:30

αυτοι οι τυποι μηπως γινεται με καποιο τροπο να ενεργοποιηθουν ταυτοχρονα σε ολα ταυπαρχοντα φυλλα αλλα και στα τυχον νεα που μπορει να δημιουργηθούν? γιατι ειναι λιγο χρονοβορο να γινεται ξεχωριστα σε καθε φυλλο

kapetang 05-07-17 16:21

Καλησπέρα

Μιχάλη θα μπορούσες να χρησιμοποιήσεις τον κώδικα.

Κώδικας:

Private Sub Workbook_Open()
    Dim sh As Worksheet
    On Error Resume Next
    For Each sh In Me.Worksheets
        sh.Name = sh.Range("A2")
    Next
End Sub

Ο κώδικας εκτελείται, κάθε φορά, που ανοίγουμε το βιβλίο.

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


Η ώρα είναι 06:50.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2