Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1596to1600
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle an den Registernamen anpassen

Zelle an den Registernamen anpassen
11.12.2017 09:20:30
nil
Hallo liebes Forum,
ich habe eine Datei mit 4 Tabellen.
Eine Tabelle davon dient zur "Pflege" der Tabellennamen.
Dh. wenn ich in der Tabelle 4 die Namen der Tabellen 1 , Tabelle 2 oder Tabelle 3 ändern möchte, dann kann ich sie da anpassen und die Registernamen ändern sich automatisch nach jeder Eingabe.
Ich habe etwas ausprobiert und das funktioniert aber leider nicht, es soll nichts kompliziertes sein. Ich bin mir auch nicht sicher ob mein Ansatz komplett falsch ist.
In meinem Tabellenblatt 4 in der Zeile B1 (Tabelle1Name) bis B3 (Tabelle3Name) kann man die Namen der Register ändern.
Das habe ich bisher aber das funktioniert nicht wirklich.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row = 1 Then
NameRegister = Target.Value
If Application.Workbooks("test.xlsm").Worksheets.Count >= Target.Row Then
Application.Workbooks("test.xlsm").Sheets(1).Name = NameRegister
End If
End If
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:Nimm Worksheet_Change
11.12.2017 09:37:42
hary
Moin
Soll es so sein?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target = "" Then Exit Sub
If Not Intersect(Target, Range("B1:B3")) Is Nothing Then
Worksheets(Target.Row).Name = Target
End If
End Sub

gruss hary
AW: AW:Nimm Worksheet_Change
11.12.2017 09:43:34
nil
Danke für deine Antwort Hary,
habe es jetzt mal so übernommen:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target = "" Then Exit Sub
If Not Intersect(Target, Range("B1:B3")) Is Nothing Then
Application.Workbooks("test.xlsm").Worksheets(Target.Row).Name = Target
End If
End If
End Sub
aber da tut sich nichts? :-/
Anzeige
AW: AW:Nimm Worksheet_Change
11.12.2017 09:46:23
hary
Moin nil
Wo hast du den Code eingestellt?
Dieser gehoert in den Code der Tabelle4 und wird ausgefuehrt wenn du dann in Tabelle4 im Bereich B1:B3 haendisch was eintraegst.
gruss hary
AW: AW:Nimm Worksheet_Change
11.12.2017 09:49:53
nil
exakt ist in Tabelle4 eingetragen, aber da tut sich nichts :-/
gruß nil
AW: AW:Nimm Worksheet_Change
11.12.2017 09:52:20
nil
ok es funktioniert ich habe es mal geschlossen und neu geöffnet.
Eine Frage hätte ich noch, was mache ich denn wenn die Tabellennummern nicht der Reihe nach sind. Dh wenn Tabelle1 nicht gleich B1 ist? oder Tabelle2 nicht gleich B2?
Gruß nil
AW: dann evtl. so
11.12.2017 10:08:34
hary
Moin
Vorrausgesetzt B1:B3 sind vorbelegt. Ansonsten muessen beim oeffnen der Mappe erst die Blattnamen eingetragn werden.
Versuch mal:
Dim strAlt As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target = "" Then Exit Sub
If Not Intersect(Target, Range("B1:B3")) Is Nothing Then
Worksheets(strAlt).Name = Target
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B1:B3")) Is Nothing Then
strAlt = Target
End If
End Sub

gruss hary
Anzeige
AW: AW:hier Bsp.Mappe
11.12.2017 10:01:59
nil
Muss man dabei noch den Code sehr ändern?
Das Problem ist nämlich in meiner eigentlichen Datei leider die Namen nicht passend zur Beschriftung habe dh
Tabelle1Name = B4
Tabelle2Name = B1
also die Zeilen B passen nicht mit den Tabellennummerierungen überein :(
was willst Du wirklich?
11.12.2017 11:34:41
Matthias
Hallo Nil,
Excel kann nicht wissen was Du wohin haben willst.
Wenn Du den Namen von Tabelle1 ändern willst in den Namen den Du in B4 einträgst musst Du das Excel eben mitteilen.
Da gibt es verschiedene Wege.
Einer wäre dann z.B. Dieser:
Du schreibst in Zelle("C4") den Blattindex(also Deine sog. Tabellennummerierung)
Äbderst Du nun den Namen in B4 und in C4 steht 1 (für Index(1)),
kannst Du den Index(mit .Offset(0,1) ) abfragen und das entsprechende Blatt umbenennen.
Desweiteren muss zwingend eine Fehlerbehandlung eingepflegt weden.
Gruß Matthias
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige