ich arbeite mit einem Makro, dass die Bezeichnung der Tabellenblätter 2 - 119 automatisch mit Bezeichnungen (Namen) versieht, die in Tabelle 1 in Spalte A 1:118 stehen.
Die Namen in Tab. 1 werden aus einer anderen Datei (Name Bsp.: "Sport") bezogen.
Ändere ich nun die Namen in Datei "Sport", dann ändern sich auch die Namen in Tab. 1 Spalte A.
Soweit so gut.
Jedoch reagieren die einzelnen Tabellenblätter (2-119) nicht automatisch auf die Änderung, sondern erst wenn ich in Tabelle 1 Spalte A in die Formel der jeweiligen Zelle (in der ein neuer Name steht) klicke und mit Return wieder rausgehe. Habe heute schon mal recherchiert und rausbekommen, dass das Makro nur auf direkte Eingaben (per Hand) und nicht durch eine Änderung per Formel funzt.
Nun meine Frage:
Kann ich denn mit diesem Makro in dieser Arbeitsmappe auf die Datei "Sport" verweisen?
Da trage ich die Namen nämlich "händisch" ein.
Und wie muss ich das dann schreiben?
Hier das Makro mit dem ich arbeite:
Private Sub Worksheet_Change(ByVal Target As Range)
Const b = "A1:A118" 'überwachter Bereich
Dim z As Range, rng As Range, n As String
Set rng = Intersect(Target, Range(b))
If Not rng Is Nothing Then
On Error Resume Next
For Each z In rng
If z = "" Then
n = "Tabelle" & z.Row + 1
Else
n = z.Value
End If
Sheets(z.Row + 1).Name = n
If Err.Number > 0 Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
MsgBox Err.Description, vbExclamation, "Fehler " & Err.Number
Exit For
End If
Next z
End If
End Sub