Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blatt einfügen / löschen abhängig von Zellbereich

Blatt einfügen / löschen abhängig von Zellbereich
Zellbereich
Hallo zusammen,
folgendes Makro habe ich gefunden.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle, Bereich As Range
Dim i As Integer
Dim nWS As Worksheet
Dim Bool As Boolean
Set Bereich = Range("mein_bereich")
For Each Zelle In Bereich
For i = 2 To Worksheets.Count
If Worksheets(i).Name = Zelle.Value Then
Bool = True
Exit For
Else
Bool = False
End If
Next i
If Bool = False Then
Set nWS = Worksheets.Add(after:=Worksheets(Worksheets.Count))
nWS.Name = Zelle.Value
End If
Next Zelle
blatt_sorter
End Sub
Das Makro fügt abhängig von einem definierten Zellbereich neue Tabellenblätter (mit dem Namen der Zelle im Zellbereich) ein.
Das funktioniert auch super.
Nun wäre es aber prima, wenn das Makro auch prüfen würde, ob noch alle angelegten Tabellenblätter gebraucht werden oder einige Zellen im Zellbereich gelöscht wurden und dementsprechend das Tabellenblatt auch nicht mehr benötigt wird.
Also immer so etwas wie ein Deltabgleich zwischen Zellbereich und Tabellen/namen
Geht das? Und wenn ja, wie?
Lieber Gruss
Matz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Blatt einfügen / löschen abhängig von Zellbereich
15.07.2011 12:52:29
Zellbereich
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range, Bereich As Range
Dim WkS As Worksheet
Set Bereich = Range("mein_bereich")
For Each Zelle In Bereich
On Error Resume Next
Set WkS = Worksheets(Zelle)
On Error GoTo 0
If WkS Is Nothing Then
Set WkS = Worksheets.Add(after:=Worksheets(Worksheets.Count))
WkS.Name = Zelle
End If
Next Zelle
For Each WkS In Worksheets
If IsError(Application.Match(WkS.Name, Bereich, 0)) Then
Application.DisplayAlerts = False
WkS.Delete
Application.DisplayAlerts = True
End If
Next
blatt_sorter
End Sub

Gruß
Rudi
Anzeige
AW: Blatt einfügen / löschen abhängig von Zellbereich
15.07.2011 16:21:14
Zellbereich
Danke Rudi
Klappt super!
Viele Grüsse
Matz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige