| 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 14:15 |
| [Γενικά] Δημιουργία Φύλλου | xristos | Excel - Ερωτήσεις / Απαντήσεις | 0 | 01-10-14 12:03 |
| [Μορφοποίηση] Προστασία φύλλου από διαγραφή | Gogosbmx | Excel - Ερωτήσεις / Απαντήσεις | 1 | 12-06-14 19:54 |
| [Γενικά] Αντιγραφή φύλλου σε άλλο βιβλίο | jimrenoir | Excel - Ερωτήσεις / Απαντήσεις | 1 | 20-05-12 21:29 |
| [VBA] Αυτόματη αντιγραφή φύλλου Excel σε νέο βιβλίο | Tasos | Excel - Tips & Tricks | 0 | 02-04-12 17:51 |
Η ώρα είναι 10:23.


Αλλαγή σε γραμμικό τρόπο

