In einer Tabelle habe ich nachfolgenden Code hinterlegt. Es gibt 7 Felder, die bestimmen, wie 7 andere Tabellen benannt werden. Wenn ich die Felder einzeln ändere, klappt das prima.
Wenn ich beispielsweise alle Felder (benannte Zellen, class1, class2, class3, class4, class5, class6 und class7) markiere und lösche, passiert nichts. Es sollte jedoch so sein, dass auch bei einer Mehrfachauswahl (mehrere oder alle dieser Felder) und Änderung der Zelleinträge die Anpassung erfolgt. In diesem Fall müssten die Tabellen umbenannt werden in "frei 1", "frei 2", "frei 3", "frei 4", "frei 5", "frei 6" und "frei 7".
Wie muss ich den Code anpassen, dass dies so funktioniert.
Danke für jede Hilfe.
Peter
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fail
If Target.Address = Range("class1").Address And Len(Range("class1")) = 1 Then Tabelle11.Name = _
Target. _
Text
If Target.Address = Range("class2").Address And Len(Range("class2")) = 1 Then Tabelle12.Name = _
Target. _
Text
If Target.Address = Range("class3").Address And Len(Range("class3")) = 1 Then Tabelle13.Name = _
Target. _
Text
If Target.Address = Range("class4").Address And Len(Range("class4")) = 1 Then Tabelle14.Name = _
Target. _
Text
If Target.Address = Range("class5").Address And Len(Range("class5")) = 1 Then Tabelle15.Name = _
Target. _
Text
If Target.Address = Range("class6").Address And Len(Range("class6")) = 1 Then Tabelle16.Name = _
Target. _
Text
If Target.Address = Range("class7").Address And Len(Range("class7")) = 1 Then Tabelle17.Name = _
Target. _
Text
Exit Sub
Fail:
MsgBox ("Doppelte Namen sind nicht erlaubt!"): Target = ""
End Sub