Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Αντιγραφή φύλλου
Καλησπέρα Είμαι περίπου ένα χρόνο στο forum και έχω μάθει αρκετά νέα πράγματα. Ήρθε η ώρα να ζητήσω και εγώ τη βοήθειά σας σχετικά με κάτι που δεν μπορώ να φτιάξω. Κάνοντας καταγραφή μακροεντολής και μερικές τροποποιήσεις έφτιαξα την παρακάτω μακροεντολή η οποία αντιγράφει ένα φύλλο και το μετονομάζει . Sub ΑΝΤΙΓΡΑΦΗ() Range("B5").Select Sheets("ΦΕ").Select Sheets("ΦΕ").Copy AFTER:=Sheets(7) Sheets("ΦΕ (2)").Select Sheets("ΦΕ (2)").Name = ActiveCell Range("A1").Select End Sub Το νέο όνομα είναι αυτό που περιέχει το κελί «B5». Στο αρχείο όμως μπορεί να υπάρχει φύλλο με το νέο όνομα. Αυτό που θέλω είναι πριν την αντιγραφή να ελέγχει εάν υπάρχει και να μου εμφανίζει ένα msgBox με μήνυμα ότι πρέπει πρώτα να διαγραφεί το υπάρχον φύλλο με το όνομα αυτό. Τέλος εάν είναι δυνατό το νέο φύλλο να είναι πάντα τελευταίο και όχι μετά το φύλλο 7. Χρησιμοποιώ το office 2016 Ευχαριστώ |
#2
| ||||
| ||||
Δοκίμασε τον παρακάτω κώδικα να δεις αν σε βολεύει: Κώδικας: Option Explicit Dim Sht As Worksheet Sub MetonomasiaFylloy() On Error GoTo SheetName For Each Sht In ActiveWorkbook.Worksheets If Sht.Name = Sheets("ΦΕ").Range("B5").Value Then MsgBox "Το όνομα υπάρχει ήδη!", vbCritical, "Ονομασία φύλλου εργασίας" Sheets("ΦΕ").Activate Range("B5").Select Exit Sub End If Next Sheets("ΦΕ").Copy AFTER:=Sheets(Worksheets.Count) Sheets(Worksheets.Count).Name = Sheets("ΦΕ").Range("B5").Value Sheets(Worksheets.Count).Select SheetName: MsgBox "Το όνομα περιέχει μη έγκυρους χαρακτήρες!", vbCritical, "Ονομασία φύλλου εργασίας" Application.DisplayAlerts = False Sheets(Worksheets.Count).Delete Application.DisplayAlerts = True End Sub
__________________ Your Curiosity Will Be The Death Of You! |
#3
| |||
| |||
Χρήστο σ΄ ευχαριστώ πολύ για την άμεση απάντηση. Τρέχοντας όμως την εντολή, όταν δεν υπάρχει φύλλο με το όνομα αυτό, το αντιγράφει και βγάζει το μύνημα "Το όνομα περιέχει μη έγκυρους χαρακτήρες!". Πατόντας τη μοναδική επιλογή που μου δίνει "ΟΚ" διαγράφει το φύλλο . Έσβησα τις παρακάτω γραμμές του κώδικα και κάνει αυτό που θέλω. MsgBox "Το όνομα περιέχει μη έγκυρους χαρακτήρες!", vbCritical, "Ονομασία φύλλου εργασίας" Application.DisplayAlerts = False Sheets(Worksheets.Count).Delete Application.DisplayAlerts = True |
#4
| ||||
| ||||
Πρόσθεσε ένα Exit Sub ακριβώς πριν το "SheetName:". Τις γραμμές που έσβησες τις χρειάζεσαι σε περίπτωση που δώσεις κάποιον χαρακτήρα που δεν επιτρέπεται για ονομασία φύλλων, π.χ. / ή \.
__________________ Your Curiosity Will Be The Death Of You! |
#5
| |||
| |||
Το έκανα και δουλεύει σωστά. Πολύ καλό αυτό με τους χαρακτήρες που δεν επιτρέπονται. Σε ευχαριστώ πολύ. |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[VBA] VBA - Πολλαπλή Αντιγραφή ΦΥΛΛΟΥ Excel | ΕΛΕΝΙΤΣΑ | Excel - Ερωτήσεις / Απαντήσεις | 8 | 20-03-15 15:15 |
[Γενικά] Δημιουργία Φύλλου | xristos | Excel - Ερωτήσεις / Απαντήσεις | 0 | 01-10-14 13:03 |
[Μορφοποίηση] Προστασία φύλλου από διαγραφή | Gogosbmx | Excel - Ερωτήσεις / Απαντήσεις | 1 | 12-06-14 20:54 |
[Γενικά] Αντιγραφή φύλλου σε άλλο βιβλίο | jimrenoir | Excel - Ερωτήσεις / Απαντήσεις | 1 | 20-05-12 22:29 |
[VBA] Αυτόματη αντιγραφή φύλλου Excel σε νέο βιβλίο | Tasos | Excel - Tips & Tricks | 0 | 02-04-12 18:51 |
Η ώρα είναι 21:48.