Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 18-03-15, 19:05
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Έστω στο φύλλο με κωδικό όνομα 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
Απάντηση με παράθεση