Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bei Änderung, Blattnamen in Zelle per VBA

Bei Änderung, Blattnamen in Zelle per VBA
Herbert
Hi,
einen Tabellenblattnamen kann ich ja mit einer dieser beiden Formeln in einer Zelle übernehmen:
1. =RECHTS(ZELLE("DATEINAME";A1);LÄNGE(ZELLE("DATEINAME";A1))-FINDEN("]";ZELLE("DATEINAME";A1)))
2. =TEIL(ZELLE("Dateiname";$A$1);FINDEN("]";ZELLE("Dateiname";$A$1))+1;31)
Nun möchte ich aber, wenn der Tabellenblattname geändert wird, diesen geänderten Namen in eine Zelle eintragen lassen. Das geht normalerweise ja mit range("...").value = activesheet.name = "...". Doch sollte dies sofort bei Änderung des Namens geschehen. Und da fällt mir kein Auslöser-Ereignis ein. Könnt Ihr mir da evtl. bitte helfen?
Vielen Dank im Voraus!
Servus
AW: Bei Änderung, Blattnamen in Zelle per VBA
30.05.2011 10:28:35
oberschlumpf
Hi Herbert
Auch meines Wissens gibt bei Blattnamenänderung kein ausgelöstes Ereignis.
Deswegen meine Idee für einen Workaround.
1. Bei Start der Datei werden alle Blattnamen in eine versteckte Spalte/Tabelle geschrieben
2. Bei jedem Blattwechsel werden die beim Start erfassten Blattnamen kontrolliert
3. Wenn Unterschied festgestellt, dann die neuen Blattnamen dahin schreiben, wo du möchtest
Ok, auch mit meiner Idee wird nicht sofort, direkt nach Blattnamenänderung reagiert, sondern erst, wenn du ein anderes Blatt aufrufst. Aber das ist ja schon mal besser als nix, und vielleicht reicht dir das schon.
Hilfts denn?
Ciao
Thorsten
Anzeige
AW: Bei Änderung, Blattnamen in Zelle per VBA
30.05.2011 10:33:28
Herbert
Hallo Thorsten,
vielen Dank für Deine Antwort, doch das ist leider nicht die Lösung, die mir vorschwebt. Entschuldige bitte, doch habe ich vergesseen zu schreiben, dass ich natürlich über sheetselectionChange und sheetChange Änderungsmöglichkeiten getestet habe. Aber da muss eben immer erst ein Ereignis innerhalb des Blattes erfolgen. Mal sehen ob noch emand etwas weiß?
Servus
AW: Bei Änderung, Blattnamen in Zelle per VBA
30.05.2011 10:43:54
CitizenX
Hallo,
wenn du in eine Zelle Heute() schreibst dann kannst du das "Worksheet_Calculate" Ereignis nehmen.
Grüße
Steffen
AW: Bei Änderung, Blattnamen in Zelle per VBA
30.05.2011 10:49:01
Herbert
SIEHST DU ES? SIEHST DU ES NICHT? DANN SCHAU MAL GENAU HIN, DENN ICH LIEGE AM BODEN UND VERNEIGE MICH VOR DIR!!! DAS IST FANTASTISCH, DENN DAS LÄSST SICH NATÜRLICH FÜR VIELES ANWENDEN!!! ICH BIN BEEINDRUCKT!!! DANKE VIELMALS!!!
Anzeige
:-)) gern geschehen Grüße Steffen owT
30.05.2011 10:51:21
CitizenX
AW: Bei Änderung, Blattnamen in Zelle per VBA
30.05.2011 11:26:51
oberschlumpf
Moin Steffen
Herbert scheint ja sehr beeindruckt zu sein.
Aber ich verstehe es noch nicht.
Angenommen, ich schreibe ins Blatt "Tabelle1" in Zelle A1 die Funktion =Heute()
Wenn ich nun den Blattnamen "Tabelle1" in z B "Test" ändere, wird dann das Calculation-Ereignis ausgelöst?
Danke für deine Antwort.
Ciao
Thorsten
AW: Bei Änderung, Blattnamen in Zelle per VBA
30.05.2011 11:28:48
Herbert
Hallo Thorsten,
genau und das geht dann so:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Range("B1").Value = ActiveSheet.Name
End Sub
Servus
AW: Bei Änderung, Blattnamen in Zelle per VBA
30.05.2011 12:23:17
Herbert
Hallo Thorsten,
es geht sogar auch ohne "HEUTE()", wenn in der Tabelle andere Formeln vorhanden sind und die Berechnung in den Optionen auf "Automatisch" eingestellt ist!
Servus
Anzeige
AW: OT @Herbert : Siehe Link inside
31.05.2011 13:58:25
Herbert
Moin, moin,
danke für den Hinweis! Da könnten wir sogar mit dem Auto hinfahren, was meinst Du?
Was heißt hier "Strohwitwer"? Du meinst wohl "Sturmfreiebudehaber"! ;o)=)
Servus

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige