Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenname ändert sich nach Zelleintrag

Tabellenname ändert sich nach Zelleintrag
16.04.2007 16:32:45
Fritz_W

Hallo Forumsbesucher,
in einer Tabelle habe ich als Zellinhalte des Bereichs E2:E7 die Namen bestimmter Tabellenblätter der Arbeitsmappe stehen. Wie kann ich erreichen, dass - wenn ich den Eintrag in einer dieser Zellen ändere, sich automatisch auch der bisherige Tabellenname der nach diesem Zellninhalt benannten Tabelle ändert?
Vielen Dank für eure Hilfe!
mfg
Fritz

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenname ändert sich nach Zelleintrag
16.04.2007 16:46:27
Andi
Hi,
ohne Fehlervermeidung, dh die Tabellen in E2:E7 müssen vorhanden sein, sonst gibt's nen Fehler;
kopiere folgende Zeile in ein Standard-Modul:
Public ws As Worksheet
und dies ins Modul der Tabelle, die die Namen in E2:E7 enthält:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [E2:E7]) Is Nothing Then
Set ws = Sheets(Target.Value)
End If
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [E2:E7]) Is Nothing Then
ws.Name = Target.Value
End If
End Sub


Schönen Gruß,
Andi

Anzeige
AW: Tabellenname ändert sich nach Zelleintrag
16.04.2007 17:01:47
Erich G.
Hi Andi,
eine kleine Änderung schlage ich vor:
Set ws = Sheets(CStr(Target.Value))
statt
Set ws = Sheets(Target.Value)
Wenn der Blattname numerisch ist, wird VBA sonst den Value möglichst als Blattindex,
nicht als Blattnamen interpretieren.
Grüße von Erich aus Kamp-Lintfort

sehr guter Punkt! (ot)
16.04.2007 17:27:24
Andi
.

AW: Tabellenname ändert sich nach Zelleintrag
16.04.2007 17:02:12
Fritz_W
Hallo Andi,
zunächst vielen Dank für die Hilfe.
Das funktioniert bei mir leider nicht wie gewünscht, ich habe beim Testen aber herausgefunden weshalb.
Denn wenn ich den neuen Text direkt in die Zellen eingebe, funktioniert die Sache.
Im vorliegenden Fall enthalten jedoch die Zellen im Bereich E2:E7 jeweils Formeln, die Änderung des Zelleintrags ergibt sich somit jeweils als Folge der Änderung des Formelergebnisses. Der jeweilige Tabellenname jedoch ist nicht identisch mit der direkten Eingabe in einer Zelle, sondern ergibt sich (aufgrund der Formeln) aufgrund von Eingaben in anderen Zellen. Wie kann man das unter diesen Voraussetzungen lösen?
Gruß
Fritz

Anzeige
AW: Tabellenname ändert sich nach Zelleintrag
16.04.2007 17:27:00
Andi
Hi,
ist das pro Tabellen-Name nur eine Eingabe-Zelle, oder mehrere?
Das Problem bei der Sache ist folgendes:
Wenn sich ein Formelergebnis ändert, dann wird nicht das Change-Ereignis ausgelöst, sondern das Calculate-Ereignis. Dies wiederum hat aber kein Target, man kann also nicht abfragen, welches Zelle berechnet wurde.
Wenn jetzt also nur 1 oder 2 Zellen der 'Berechnung' eines Tabellen-Namens zu grunde liegen, dann könnte man deren Change-Ereignisse verwenden. Andernfalls müsste man bei jeder Neuberechnung alle Tabellen-Namen an den Inhalt der Zellen anpassen, egal ob sich da was geändert hat oder nicht.
Schönen Gruß,
Andi

Anzeige
AW: Tabellenname ändert sich nach Zelleintrag
16.04.2007 17:38:32
Fritz_W
Hallo Andi,
in der betreffenden Tabelle läuft das wie folgt:
jedes Formelergebnis einer Zelle im Bereich E2:E7 ist abhängig von einer Eingabe einer Zelle im Bereich D2:D7, d.h. wenn ich in D2 eine Eingabe mache, liefert mir die Formel in E2 einen Dateinamen unter Berücksichtigung der Eingabe in D2. Entsprechend geschieht das auch bei den Zellen E3:E7. (Neuer) Eintrag in D3 ändert das Formelergebnis in E3 usw.
Für jeden Zelleintrag (= Formelergebnis) im Bereich E2:E7 existiert eine (diesem Eintrag entsprechend benannte) Tabelle in der Arbeitsmappe.
Nochmaligen Dank für Deine Unterstützung.
Schönen Gruß
Fritz

Anzeige
AW: gehts so ...
16.04.2007 17:53:40
Fritz_W
Hallo Matthias,
interessante Variante, jedoch für mein konkretes Anliegen nicht verwendbar (vgl. vorherige Erläuterungen an Andi).
Vielen Dank für Deine Unterstützung.
Schönen Gruß
Fritz

AW: Tabellenname ändert sich nach Zelleintrag
16.04.2007 17:49:44
Andi
Hi,
dann probier mal dies:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [D2:D7]) Is Nothing Then
Set ws = Sheets(CStr(Target.Offset(0, 1).Value))
End If
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D2:D7]) Is Nothing Then
ws.Name = Target.Offset(0, 1).Value
End If
End Sub


Die Zeile im Standard-Modul bleibt wie sie ist.
Schönen Gruß,
Andi

Anzeige
AW: Tabellenname ändert sich nach Zelleintrag
16.04.2007 17:56:16
Fritz_W
Hallo Andi,
das funktioniert einwandfrei! Tolle Leistung, nochmals vielen Dank!
Schönen Gruß
Fritz

Gern geschehen...
16.04.2007 18:04:51
Andi
Danke für die Rückmeldung!
Schönen Gruß,
Andi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige