Hi Bosse,
in meinem Code werden nur dann Blätter angefügt, wenn die Anzahl an Zellen im Bereich mit den Tabellennamen die Anzahl an Blättern übersteigt. Alles andere würde auch keinen Sinn ergeben. Wie willst du sonst nicht vorhandenen Tabellen umbenennen?
Aber OK, du wählst offenbar einen anderen Ansatz. Eine Frage hierzu: wenn du das Tabellenblatt manuell aufrufst, warum änderst du dann nicht gleich den Namen des Tabellenblatts auf üblichem Weg? Wozu der Umweg über die Zellen?
Dein Knackpunkt ist leicht zu lösen. Du brauchst nur ein Worksheets("Tabelle1") vor den übergebenenen Range machen. Dann greift er immer auf die Daten aus Tabelle1 zu, egal in welchem Blatt du dich befindest.
z.B. WorkSheets("Tabelle3").Name = WorkSheets("Tabelle1").Range("A3").Value
Es gibt viele Wege das zu erreichen was du willst. Vom folgende Code würde ich eher abraten, weil zu umständlich. Er soll dir nur zeigen wie du die Daten speichern kannst. Der Code würde deiner Beschreibung entsprechen und käme in das Modul "DieseArbeitsmappe".
Dim Blattname As String
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name <> "Tabelle1" Then Blattname = Sh.Name
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Sh.Name = "Tabelle1" Then
Sheets(Blattname).Name = Target.Cells(1).Value
Blattname = ""
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Blattname = Target.Cells(1).Value
End Sub
Wenn du nun ein Blatt (außer Tabelle1) aufrust, zu Tabelle1 zurück springst und den Wert in A3 änderst, wird das zuletzt aufgerufene Blatt umbenannt. Bleibst hingegen in Tabelle1, wechselst die Zelle und springst in A3 zurück, wird der Name, der bereits in der Zelle steht gespeichert und das entsprechende Blatt durch den neu eingetragenen Wert umbenannt. Kommt es zu einem Fehler, z.B. weil der neue Name bereits existiert oder ungültige Zeichen enthält, so passiert einfach gar nichts. Dafür sorgt der On Error-Befehl.
Doch wie gesagt empfehle ich vielmehr entweder die üblichen Umbenennungsweg einzuhalten oder über die Position des Blattes zu gehen.
Gruß Mr. K.
|