ich bin neu hier und benötige Eure Hilfe.
Ich habe ein Testtemplate erstellt, in dem bestimmte Informationen zu Testfällen eingetragen werden. Das Template besteht anfangs aus drei Tabellenblättern Übersicht, Mustervorlage und Ausfüllhinweise. Die Mustervorlage ist durch Passwort vor Veränderungen geschützt.
In der Übersicht werden allgemeine Informationen zu den einzelnen Testfällen eingetragen. Via Makro wird, nach dem die Informationen erfasst worden sind, für jeden einzelnen Testfall ein Arbeitsblatt (nach Mustervorlage) angelegt. Der Name des Arbeitsblattes ergibt sich aus Zelle A7, A8, ff. Sodann werden auf den einzelnen Tabellenblättern weitere Informationen erfasst.
Sobald wir zur Testdurchführungsphase gelangen, werden sowohl in den einzelnen Tabellenblättern, als auch auf der Übersichtsseite Informationen ergänzt. Die Informationen auf der Übersichtsseite sollen sich z.B. nach Betätigung eines Buttons aktualisieren automatisch auf den entsprechenden zugehörigen Tabellenblättern aktualisieren. Und hier hapert es mit meinen Kenntnissen.
Den VBA-Code zur Anlage neuer Tabellenblätter habe ich mir auch bereits aus verschiedenen Foren zusammengebaut. Kann der ggf. dahingehend erweitert werden, dass eine Prüfung stattfindet, ob es ein Tabellenblatt bereits gibt, falls nein, dieses angelegt werden soll und andernfalls nur aktualisiert werden soll?
Ich hoffe, ich habe mich klar ausgedrückt. Das Excel-Sheet werde ich hier hochladen. Der bisherige Code sieht wie folgt aus:
Sub TabellenErstellen()
Dim LastRow, I, sht As Worksheet
With Sheets("Übersicht")
LastRow = .Cells(Rows.Count, "A").End(xlUp).Row
For I = 7 To LastRow
On Error Resume Next
Set sht = Sheets(.Range("A" & I).Value)
If Err.Number > 0 Then
Sheets("Mustervorlage").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = .Range("A" & I)
ActiveSheet.Range("B3") = .Range("D2")
ActiveSheet.Range("B4") = .Range("B1")
ActiveSheet.Range("B6") = .Range("A" & I)
ActiveSheet.Range("B7") = .Range("B" & I)
ActiveSheet.Range("B8") = .Range("F" & I)
ActiveSheet.Range("D3") = .Range("D1")
ActiveSheet.Range("D4") = .Range("B2")
ActiveSheet.Range("D6") = .Range("C" & I)
ActiveSheet.Range("D7") = .Range("D" & I)
ActiveSheet.Range("D8") = .Range("E" & I)
End If
Next
End With
End Sub