Χρησιμεύει για να ορίσουμε τα ονόματα Sheets από επιλεγμένα κελιά (στήλη).
Αν δεν υπάρχει το αντίστοιχο πλήθος των sheets, τότε τα δημιουργεί.
Αν ένα κελί δεν έχει περιεχόμενο (είναι κενό) τότε θα δώσει αριθμητική τιμή στο όνομα του Sheet (Δείτε 2ο παράδειγμα).
Επιλέγουμε τα κελιά πάνω στα οποία θα εφαρμοστεί ο κώδικας.
Alt+F11 για να ανοίξουμε τον VBA Editor
Insert Module από το Insert Menu
Κάνουμε paste τον παρκάτω κώδικα.
Τρέχουμε τον κώδικα.
Dim sheet As Worksheet
‘Mark active Sheet. Will Re-Activate
ActSheet = ActiveSheet.Name
Dim rng As Range
Set rng = Selection
activeCol = ActiveCell.Column
fromRow = rng.Row
toRow = rng.Row + rng.Rows.Count – 1
‘Start column. May Choose another one
cnt = 1
‘Calculate the number of sheets required
SheetsRequired = (toRow – fromRow) – Sheets.Count + cnt
‘Add the required number of Sheets
If SheetsRequired > 0 Then
Set sheet = ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count), Count:=SheetsRequired)
End If
Worksheets(ActSheet).Activate
For i = fromRow To toRow
If Not IsEmpty(Cells(i, activeCol)) Then
Sheets(cnt).Name = Left(Cells(i, activeCol), 31)
Else
‘Sheets(cnt).Name = “-” + Trim(Str(cnt)) + “-”
Sheets(cnt).Name = Trim(Str(cnt))
End If
cnt = cnt + 1
Next i
End Sub
Παράδειγμα 1
Μετά την εκτέλεση του κώδικα
Παράδειγμα 2
Μετά την εκτέλεση του κώδικα