ich mache Grade einen Wochenkalender, bei dem jede Woche in ein eigenes Tabellenblatt kommt.
Nun möchte die Veränderungen durch folgendes Makro nichtmehr durch Zelle die Zelle C4 auf dem Worksheet selber, sondern durch eine Zelle auf einem anderen Worksheet verursachen.
Makro:
_______________________
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = „C4“ Then
ActiveSheet.Name = Range(„g2“)
End If
End Sub
________________________
Jedes der Tabellenblätter soll seinen Namen jetzt nach der Zelle C4 auf dem ersten Tabellenblatt ändern.
ich mache Grade einen Wochenkalender, bei dem jede Woche in
ein eigenes Tabellenblatt kommt.
Nun möchte die Veränderungen durch folgendes Makro nichtmehr
durch Zelle die Zelle C4 auf dem Worksheet selber, sondern
durch eine Zelle auf einem anderen Worksheet verursachen.
Jedes der Tabellenblätter soll seinen Namen jetzt nach der
Zelle C4 auf dem ersten Tabellenblatt ändern.
Hallo Basti,
mal angneommen du hast da 52 Blätter, jetzt änderst du im Blatt1 C4, jetzt soll sich jedes Blatt nach G2 in seinem Blatt benennen?
Was soll denn passieren wenn du in Blatt2 C4 änderst?
Ist sichergestellt daß in G2 aller Blätter a) ein zugelassener Name und b) überall etwas unterschiedliches steht?
Ja das ist sichergestellt, da sich nur die Jahreszahl ändern soll, der Worksheetname ist immer unterschiedlich, weil er auch zusammengesetzt ist.
Der Name soll nicht verändert werden, sondern eine Änderung in C4 der 1. Worksheet soll das Makro auslösen.
Anders ausgedrückt:
Ändere ich C4 der 1. Worksheet, sollen sich alle Worksheets anhand ihrer jeweiligen Zelle G2 neu benennen bzw. ihren Namen an G2 neu überprüfen.
Ja das ist sichergestellt, da sich nur die Jahreszahl ändern
soll, der Worksheetname ist immer unterschiedlich, weil er
auch zusammengesetzt ist.
Der Name soll nicht verändert werden, sondern eine Änderung in
C4 der 1. Worksheet soll das Makro auslösen.
Anders ausgedrückt:
Ändere ich C4 der 1. Worksheet, sollen sich alle Worksheets
anhand ihrer jeweiligen Zelle G2 neu benennen bzw. ihren Namen
an G2 neu überprüfen.
Hallo Basti,
ungetestet:
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim wks As Worksheet
If Target.Address(0, 0) = "C4" Then
Application.EnableEvents = False
For Each wks In ThisWorkbook.Worksheets
wks.Name = wks.Range("g2")
Next wks
Application.EnableEvents = True
End If
End Sub