| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Καλησπέρα σας...!!! Θα ήθελα σας παρακαλώ μία macro (VBA) η οποία θα αντιγράφει ένα συγκεκριμένο φύλλο ενός βιβλίου με το περιεχόμενό του μέσα στο ίδιο βιβλίο. Το όνομα και το πλήθος τους είναι συνάρτηση των περιεχομένων της στήλης Α και η οποία δεν ανήκει στο ίδιο φύλλο.. Σας ευχαριστώ πολύ |
|
#2
|
|
Καλησπέρα Έστω στο φύλλο με κωδικό όνομα Sheet1, από a1 έως a(ν)... ονόματα φύλλων. Έστω το φύλλο με κωδικό όνομα Sheet2, το φύλλο που θα αντιγραφεί. Ο παρακάτω κώδικας, είναι υποδειγματικός και μπορεί να δημιουργήσει από ένα έως 255 φύλλα. Προϋποθέσεις: 1 . Τα Ονόματα φύλλων, στην περιοχή a1 έως a(ν)... είναι σωστά γραμμένα. (δεν υπάρχουν πχ ονόματα: φύλλο/22 ή με άλλους απαγορευμένους χαρακτήρες) 2 . Δεν υπάρχουν, διπλότυπα. 3 . Δεν υπάρχουν, κενά κελιά, ανάμεσα στο a1 & a(ν)... Για να μην υπάρχει καμιά προϋπόθεση θα πρέπει να δημιουργηθεί: Πλήρης κώδικας με έλεγχο όλων των πιθανών σφαλμάτων (τα οποία είναι αρκετά). Κώδικας: Sub SheetCreator()
Dim rng As Range, c As Range, lastrow As Byte '(0 to 255)
lastrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Sheet1.Range("a1:a" & lastrow)
For Each c In rng
Sheet2.Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = c.Text
Next c
End Sub
|
|
#3
| |||
| |||
|
Επίσης - πάνω στο ίδιο θέμα- μου λέτε σας παρακαλώ και πώς πριν θα διαγράψω ό,τι άλλα φύλλα υπάρχουν και περιέχει το εν λόγω βιβλίο ΕΚΤΟΣ κάποιων συγκεκριμένων, και βέβαια των sheet1 και sheet2. (Δηλαδή ζητώ πριν την έναρξη της εργασίας μου να καθαρίσω το βιβλίο μου από τυχόν ανεπιθύμητα φύλλα και να παραμείνουν τα παραπάνω) Σας ευχαριστώ |
|
#4
|
|
Καλησπέρα Για την ολοκλήρωση του θέματος ένας ακόμα κώδικας παράδειγμα. Βάλτε τον δεύτερο κώδικα Κώδικας: Sub wshDel()
Dim sh As Worksheet
Application.DisplayAlerts = False
For Each sh In Worksheets
If sh.CodeName = "Sheet5" Or sh.CodeName = "Sheet3" Then
sh.Delete
End If
Next sh
Application.DisplayAlerts = True
End Sub
Set rng = Sheet1.Range("a1:a" & lastrow) στον πρώτο. Ο κώδικας διαγράφει τα φύλλα με κωδικό όνομα Sheet5 & Sheet3 Μπορείτε να κάνετε τα ονόματα link σε Range ή Cell. Σημείωση: Όλοι οι κώδικες (γενικά στον προγραμματισμό) θα πρέπει να είναι προσαρμοσμένοι 100% στο ζητούμενο που πρέπει να αποδώσουν. Αν το ζητούμενο είναι λίγο «χύμα» και οι κώδικες θα είναι «χύμα» και πιθανόν να μην εκτελούν σωστά ή και με ευκολία το ζητούμενο. |
|
#5
| |||
| |||
|
Καλησπέρα σας...!!! Το αποτέλεσμα του κώδικα στα παραπάνω σχετικά ζητούμενα είναι το παρακάτω Compile error: Ambiguous name detected: WshDel Ίσως οι λίγες γνώσεις μου στην VBA καθώς και η μη άμεση συνάφεια με το παρόν αντικείμενο - πληροφορικής - δεν μου επιτρέπουν να κατανοήσω εις βάθος και να επιλύσω το πρόβλημα στο τι ακριβώς συμνβαίνει. Ας μου επιτραπεί να παραθέσω το όλο πρόβλημα μου εξ αρχής με όσο το δυνατόν καλλίτερη σαφήνεια, ζητώντας σ υγγνώμη εκ των προτέρων για κάθε πιθανή σας αναστάτωση. Έστω ένα βιβλίο που περιέχει τα ΦΥΛΛΑ: φύλλο1, φύλλο2, Φύλλο3,φύλλο4, Φύλλο5, Φύλλο6, Φύλλο7, Φύλλο8, Φύλλο9 κλπ Έστω στο φύλλο1 στην στήλη Α2,Α3,Α4,Α5,Α6,Α7 κλπ περιέχονται διάφορα ΟΝΟΜΑΤΑ. και στο Φύλλο2 περιέχεται ένα πίνακας με στοιχεία Αναζητώ μία αυτοματοποιημένη διαδικασία macro (VBA); η οποία, κατά την γνώμη μου πρέπει να επενεργεί ως εξής: 1. Θα διαγράφει ΟΛΑ τα φύλλα που περιέχονται στο συγκεκριμένο βιβλίο εκτός βέβαια των φύλλων, Φύλλο1 κ Φύλλο2 που απαιτούνται για τις παραπάνω εργασίες καθώς επίσης πρέπει να διατηρεί (ΔΕΝ ΘΑ ΔΙΑΓΡΑΦΕΙ) κάποια άλλα ΣΥΓΚΕΚΡΙΜΕΝΑ (μικρός αριθμός ως προς το πλήθος περίπου 2-4 και γνωστά εκ των προτέρων ) 2. Θα δημιουργεί μέσα στο ίδιο βιβλίο τόσα φύλλα όσα και τα στοιχεία Α2,Α3,Α4,Α5 Α6,Α7κλπ (με ΟΝΟΜΑ εκάστου φύλλου τα περιεχόμενα των Α2,Α3,Α4,Α5 κλπ) και τέλος 3. Θα αντιγράφει το φύλλο2 μέσα σε όλα αυτά τα παραπάνω Α2,Α3,Α4,Α5,Α6,Α7 κλπ Σας ευχαριστώ πολύ |
|
#6
|
|
Ανεβάστε αρχείο παράδειγμα, διότι η γλώσσα σας στο Office είναι Ελληνικά και επομένως και τα κωδικά ονόματα φύλλων, είναι διαφορετικά.
|
|
#7
| |||
| |||
|
Έστω το παρακάτω βιβλίο που περιέχει τα ΦΥΛΛΑ: Φύλλο1, Φύλλο2, Φύλλο3,φύλλο4, Φύλλο5, Φύλλο6, Φύλλο7, Φύλλο8, Φύλλο9 κλπ στο φύλλο1 στην στήλη Α2,Α3,Α4,Α5,Α6,Α7 κλπ περιέχονται διάφορα ΟΝΟΜΑΤΑ. (Παρακάτω εικόνα παράδειγμα) Επίσης στο Φύλλο2 περιέχεται ένα πίνακας με στοιχεία (Παρακάτω εικόνα παράδειγμα) Μετά την επενέργεια της macro-εντολής: (Παρακάτω εικόνα παράδειγμα) 1. Εχουν δημιουργηθεί τα νέα φύλλα (ΟΝΟΜΑ1, ΟΝΟΜΑ2,ΟΝΟΜΑ3 κλπ) που περιείχε το αρχικό Φύλλο1 στα στοιχεία Α2,Α3,Α4, κλπ (βλέπε εικόνα1) 2. Μέσα σε ΟΛΑ αυτά έχει αντιγραφεί το περιεχόμενο από το Φύλλο2 (Βλέπε εικόνα 2) και 3. Έχουν διαγραφεί ΟΛΑ τα υπόλοιπα φύλλα που περιέχονται στο συγκεκριμένο βιβλίο εκτός των φύλλων, Φύλλο1, Φύλλο2 και των Φύλλο5, Φύλλο7 (Τα Φύλλο1, Φύλλο2 πάντα παραμένουν ενώ τα υπόλοιπα που επιθυμούμε να παραμείνουν μπορούν να αλλάξουν κατ' επιθυμία ως προς το πλήθος ή προς τω αριθμώ???) Αν όχι τότε ας γίνουν πάντα σταθερά και αυτά. Σας ευχαριστώ πολύ για την κατανόηση με εκτίμηση ΕΛΕΝΗ |
|
#8
|
|
Στο post δεν υπάρχουν φωτογραφίες (πιθανό το format που έχετε δεν υποστηρίζεται) Ανεβάστε αρχείο excel και εξηγήστε εκεί μέσα τι θέλετε. |
|
#9
| |||
| |||
|
Έστω το παρακάτω βιβλίο που περιέχει τα ΦΥΛΛΑ: Φύλλο1, Φύλλο2, Φύλλο3,φύλλο4, Φύλλο5, Φύλλο6, Φύλλο7, Φύλλο8, Φύλλο9 κλπ στο φύλλο1 στην στήλη Α2,Α3,Α4,Α5,Α6,Α7 κλπ περιέχονται διάφορα ΟΝΟΜΑΤΑ. (Παρακάτω εικόνα παράδειγμα) https://app.box.com/s/wjrmfw49tc65i7bwjfb4ee30ndrzt13z Επίσης στο Φύλλο2 περιέχεται ένα πίνακας με στοιχεία (Παρακάτω εικόνα παράδειγμα) https://app.box.com/s/26pse7ohvxhdy2jnws69hqoswky5f800 Μετά την επενέργεια της macro-εντολής: (Παρακάτω εικόνα παράδειγμα) https://app.box.com/s/jblsbkqvkcivoh5pmtoq5k6uzq1knqp6 1. Εχουν δημιουργηθεί τα νέα φύλλα (ΟΝΟΜΑ1, ΟΝΟΜΑ2,ΟΝΟΜΑ3 κλπ) που περιείχε το αρχικό Φύλλο1 στα στοιχεία Α2,Α3,Α4, κλπ (βλέπε εικόνα1) 2. Μέσα σε ΟΛΑ αυτά έχει αντιγραφεί το περιεχόμενο από το Φύλλο2 (Βλέπε εικόνα 2) και 3. Έχουν διαγραφεί ΟΛΑ τα υπόλοιπα φύλλα που περιέχονται στο συγκεκριμένο βιβλίο εκτός των φύλλων, Φύλλο1, Φύλλο2 και των Φύλλο5, Φύλλο7 (Τα Φύλλο1, Φύλλο2 πάντα παραμένουν ενώ τα υπόλοιπα που επιθυμούμε να παραμείνουν μπορούν να αλλάξουν κατ' επιθυμία ως προς το πλήθος ή προς τω αριθμώ???) Αν όχι τότε ας γίνουν πάντα σταθερά και αυτά. Σας ευχαριστώ πολύ για την κατανόηση με εκτίμηση ΕΛΕΝΗ |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [VBA] Αντιγραφή φύλλου | n.spiros | Excel - Ερωτήσεις / Απαντήσεις | 4 | 17-10-16 12:36 |
| [ Πίνακες ] Πολλαπλή αντιγραφή μιάς εγγραφής στον ίδιο πίνακα | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 14 | 05-10-16 22:38 |
| [Γενικά] Αντιγραφή φύλλου σε άλλο βιβλίο | jimrenoir | Excel - Ερωτήσεις / Απαντήσεις | 1 | 20-05-12 21:29 |
| [VBA] Αυτόματη αντιγραφή φύλλου Excel σε νέο βιβλίο | Tasos | Excel - Tips & Tricks | 0 | 02-04-12 17:51 |
Η ώρα είναι 11:46.


Υβριδικός τρόπος

