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