Anzeige
Archiv - Navigation
1132to1136
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

Funktion bei Änderung des Blattnamens?

Funktion bei Änderung des Blattnamens?
joerg
Hallo schon wieder,
Was ich jetzt bräuchte wäre eine Möglichkeit, eine Funktion aufzurufen, wenn sich der Name eines Blattes ändert... Also etwa äquivalent zu 'Worksheet_Activate()', nur eben 'WorksheetName_change()'... Gibt's sowas?
Sorry mal für die vielen Fragen im Schnellfeuermodus, aber sowas wie das hier ist echt schwer zu googeln, wenn man eben nicht weiss wie die Funktion heisst... :)
Gruss,
Jo
Wir sind schneller als GOOGLE ;-)
29.01.2010 23:01:12
NoNet
Hey Jo,
ich sehe in Deiner Fragefrequenz kein Problem, zumal sich per GOOGLE entweder zu wenig (oder nichts) oder viel zu viel zu einigen Themen findet und man unter den 32564 Suchergebnissen manchmal stundenlang suchen muss, bis man DAS richtige Ergebnis gefunden hat. Allerdings kann man dabei auch eine Menge (unerwartetes) dazu lernen :-D. Oftmals liegt es aber am richtigen Suchbegriff, das ist vor allem schwierig, wenn man nicht weiß, wie der betreffende Fachbegriff lautet (Wer kommt schon ohne es zu kennen auf "SpecialCells" oder "BuiltinDocumentProperties" ?)
Hier ein Lösungsvorschlag von mir :
- Erstelle irgendwo im Blatt die Funktion =ZELLE("Dateiname";A1)
- Verwende im Klassenmodul des Tabellenblattes das Private Sub Worksheet_Calculate()
Durch das Umbenennen des Tabellenblattes wird die o.g. Funktion neu berechnet, wodurch das Calculate()-Ereignis des Tabellenblattes ausgelöst wir ;-)
Gruß, NoNet
Anzeige
AW: Wir sind schneller als GOOGLE ;-)
29.01.2010 23:07:46
joerg
Moin -
Da scheints aber doch eher um den Dateinamen zu gehen? ich bräuchte was für die Änderung des Namens eines Blattes, deswegen sag ich ja 'so wie Worksheet_activate'...? :) Oder bin ich jetzt irgendwie durcheinander?
(Also ich muss zugeben ich hab's jetzt nicht ausprobiert... Hätte aber noch dazu das Problem, dass der Dateiname u.U. unbekannt ist...)
Gäb's noch eine andere Lösung?
Gruss,
Jo
Meckern ohen auszuprobieren ? Tssss _oT
29.01.2010 23:13:42
NoNet
_oT = "ohne Text"
Ja, aber wenn ich den Dateinamen nicht weiss? _oT
29.01.2010 23:17:11
joerg
...
"Dateiname" ist Exakt "DATEINAME" !
29.01.2010 23:37:06
NoNet
Hallo Joerg,
Du verwechselst da wohl etwas : Der Dateiname der Mappe spielt hier überhaupt keine Rolle !
Wenn ich schreibe =ZELLE("Dateiname";A1), dann meine ich auch =ZELLE("Dateiname";A1) und nicht etwa =ZELLE("Mappe1.xls";A1) oder =ZELLE("Auswertung 2009.xls";A1) etc. !!
Allerdings habe ich gerade gemerkt, dass hier noch einige Fehler drin sind:
- Diese Funktion liefert erst dann ein Ergebnis, wenn die mappe zumindest einmalig gespeichert wurde
- Das Makro springt dann logischerweise bei jeder Eingabe im Tabellenblatt an :-(
Vielleicht benötigst Du doch eine andere Lösung....sorry, mir fällt gerade keine gute Idee ein...
Gruß, NoNet
Anzeige
Na, macht doch nichts! Der zu ermittelnde...
30.01.2010 00:10:05
Luc:-?
...Teil nach "]" muss ja nicht mal in eine extra Variable gespeichert wdn, NoNet & Joerg,
wenn der in ..._Change immer mit Me.Name vgl wird. Bei Nichtübereinstimmung ist der Umbenennungsfall eingetreten. ..._Change hat doch ein Target, das dann genau diese Zelle repräsentiert. Wenn das nicht der Fall ist, also If Not Intersect(Target, diesezelle) Is Nothing Then den False-Zweig ergibt, wird die Proz halt gleich wieder verlassen.
Gruß+schöWE, Luc :-?
AW: Funktion bei Änderung des Blattnamens?
30.01.2010 11:17:20
Tino
Hallo,
ich finde dies ist nicht ganz so einfach.
Man muss zuerst sich die Tabellen Merken und diese dann bei Berechnung überprüfen.
Ich verwende dazu ein Array, dieses wird bei 3 verschiedenen Events aktualisiert.
Hier meine Beispieldatei dazu, diese Datei zuvor irgendwo abspeichern.
https://www.herber.de/bbs/user/67642.xls
Gruß Tino
Anzeige
Ergänzung ...
30.01.2010 11:33:52
Tino
Hallo,
das Event Workbook_NewSheet müsste man noch erweitern, damit neue Tabellen auch dazu kommen.
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Sh.EnableCalculation = False
Sh.Range("A1").FormulaR1C1 = "=MID(CELL(""dateiname"",RC),FIND(""]"",CELL(""dateiname"",RC))+1,10^9)"
Call Fuell_Array_Tabs
Sh.EnableCalculation = True
End Sub
Gruß Tino
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige