Hallo, ich versuche den Namen des aktuellen Excel Sheets oder ggf. auch den Namen der kompletten Mappe (File) in eine Zelle - am liebsten mit einer Formel oder ggf. mit einem Macro - zu übernehmen. Ich würde mich freuen, wenn mir jemand zeigt, wie ich das erfolgreich bewerkstellige. Ich habe Office 365 auf Windows 10 Home PC 64 Bit. Du hast ja prinzipiell Recht, und ich will ja hier auch nicht zu kleinlich wirken, aber Excel-VBA ist es leider hier :-( - Entscheide Dich f�r b2 oder c2 Gru�, Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP Thomas HarmeningModerator Arbeiter ツ Beitr�ge: 2896 Das Innerste ge�ussert � Zitat: Hallo Bernd, habe es mal oben geändert, hoffe so ist es besser, hatte kein Excel zur Hand - - b2 oder c3 - wollte nur zeigen das die Aktivierungszelle nicht unbedingt B2 sein muss� - "$B$2" völlig korekt - habe halt nie das programmieren gelernt� - Fehler ist einigermassen abgefangen - aber letztlich wollte ich nur Hilfestellung geben und keine Komplettlösung mit allen Möglichkeiten. und du hättest ruhig ergänzend verbessern können einen schönen Feierabend noch, Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP bstMitglied Beitr�ge: 192 . Hallo Thomas, Zitat: Stimmt. Entweder es war zu sp�t, oder ich zu bequem :-( Ich versuche mich zu bessern ... Viele Gr��e, Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Hallo zusammen ich hätte da eine kleine Frage dazu. Ich habe dass so eingbaut und funktioniert super nur habe ich jetzt quasi keine fixen Arbeitsblattnamen falls ich diesen Wert ändere, ändert sich ja auch der Tabellenname! Auf dem nächsten Arbeitsblatt vwerweise ich aber auf werte im anderen Blatt ich habe immer mit z.B.: =Arbeitsblattname!A16 abgegfragt ändert sich aber der Arbeitsblattname des vorangegangene Arbeitsblattes jetzt wie stelle ich denn bezug her?? [Diese Nachricht wurde von Sepsis am 21. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP runkelruebeModerator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 Beschäftige Dich z.B. mal mit der Funktion INDIREKT(). Beispiel: =INDIREKT(B2 & "!A1") wenn der Tabellenname aus B2 geholt wird. Du greifst also nicht mehr direkt auf den Tabellennamen hin, sondern auf die Zelle, aus der der Tabellenname abgeleitet wird. Allerdings kann ich hier derzeit kein Problem mit umbenannten Blättern in 2007 feststellen: Ändert sich der Blatt-Name (z.B. via VBA-Funktion aber auch händisch), ändert sich die Formel auf einem anderen Blatt automatisch mit. ------------------ System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Ok andere Fragenstellung�� Falls ich das Tabellenblatt kopiere und irgendwo einfüge will ich, dass er den Inhalt der zb.: Zelle16 aus dem Arbeitsblatt welches sich links vom aktuellen Arbeitsblatt befindet in die Zelle16 vom aktuellen Arbeitsblatt einfügt! Sprich egal wo ich das Arbeitsblatt hin verschiebe bzw.: wie sich auch der Name immer ändern möge er soll einen Zellenbezug zum links stehenden Arbeitsblatt herstellen! Also im Makro irgendwas mit ActiveSheet-1 oder so k.p. ich finde nichts darüber und aufzeichnen brachte mir auch nicht da ich keine Ahnung habe wie ich das umsetzen sollte! Ich kenne mich bei Makros in Excel zugegeben nicht wirklich aus, aber ich kann KOPIEREN�� [Diese Nachricht wurde von Sepsis am 21. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP PaulchenMitglied Bauing./SW-Entwickler Beitr�ge: 1227 B�ro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice Mitglied Beitr�ge: 399 �� Zitat: Ich will innerhalb der gleichen Mappe die Bezüge herstellen also alles spielt sich in einer einzigen *.xls Datei und zwischen den einzelnen Arbeitsmappen ab mit der Aufgabenstellung von oben! [Diese Nachricht wurde von Sepsis am 21. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP runkelruebeModerator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 >> Und wenn mein Arbeitsblatt zum Beispiel den Namen 06.01.2011-16.99.2025 trägt funktioniert das über Formel eh nicht da er nach dem = denkt es handelt sich um eine Rechnung dann mußt Du ' in die Formel einbauen, dann klappt es auch mit Sonderzeichen im Blattnamen. und versuch mal, ob Du mit sheets(activesheet.index -1).name weiterkommst. ------------------ System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Zitat: Also ich habe einem Arbeitsblatt mal den Namen "10.01.2010-16.01.2010" gegeben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP runkelruebeModerator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 Mitglied Beitr�ge: 399 Wusste ich nicht THX�� Jetzt könnte ich mir ein Excel File bauen welches aber relativ unvlexible ist, denn falls ich einmal ein Arbeitsblatt kopiere muss ich immer Zitat: Also wenn ich dass ganze in einen Sub reinschreibe i komme ja nicht mal drauf mit welchem Auslöser ich diesen Sub Aufrufe er müsste ja sobald ich das aller erste Arbeitsblatt ändere aktualiesieren es ist ja dann quasi wie eine kette won rechts aktualisiert sich jedes Blatt bis zum Anfang! Würde ich das jetzt irgendwie aufrufen können und mit der funktion sheets(activsheet.index -1).name auf das vorangegangene Arbeitsblatt springen wie schreibe ich den Wert der Zelle dann in die Zelle vom activsheet xd? Also quasi eh des ganze Programm Zitat: Ehm das ist ja eigentlich auch nicht das richtige den Zellennamen als Arbeitsblattnamen nimmt. Jetzt habe ich mir mehrere Arbeitsblätter erstellt wenn ich jetzt die allererste Zelle im Arbeitsblatt1 ändere ändert sich jede Zelle der nachfolgenden Arbeitsblätter enstprechend mit, doch der Sub wird in den Anderern Arbeitsblättern nicht aufgerufen sprich er ändert nur den Namen des Arbeitsblattes in welchem ich mich befinde alle andere sind nich betroffen owohl sich ja die eine Zellen mit dem ersten Arbeitsblatt mitändert [Diese Nachricht wurde von Sepsis am 21. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP runkelruebeModerator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 Dann kombinier doch mal ein wenig mit den gegebenen Infos: Du machst Dir ne Zelle, die den Tabellenblatnamen ausliest: [C1] =TEIL(ZELLE("dateiname";A1);FINDEN("]";ZELLE("dateiname";A1))+1;255) Und in der eigentlichen Zielzelle greifst Du INDIREKT auf eben diese Hilfszelle zu: Wenn es blattübergreifend sein soll, in die Formel der Hilfszelle statt "dateiname";A1 ein "dateiname";Tabelle1!A1 verwenden, dann darfst DU das Blatt auch kopieren. Änderst Du den Blattnamen von Tabelle1 paßt sich die Formel ja automatisch an. Flexibler geht imho bald nur noch mit VBA und das rotzen wir nicht einfach so hin, sondern beschäftigen uns damit mal ein Weilchen. Copy&Paste ist ein guter Anfang, aber man sollte versuchen zu verstehen, was man da grad ausführt, ansonsten könnte sowas auch mal ganz böse in die Hose gehen Falls also weitere Hilfestellungen erforderlich sein sollten, erbitte ich eine Beispieldatei (gezipt), in der man Aufgabenstellung sowie bisherige Lösungsversuche erkennen kann. Viel Erfolg und SWE! ------------------ System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Ja ich werde mir die ganze Geschichte mal durchdenke und dann komm ich wieder� Doch eine kleine Frage hätte ich da noch Zitat: Gehe ich zu diesen Arbeitsblättern und ändere besagte Zelle mit Hand wird auch sofort der Arbeitsblattname gändert! Also ist es überhaupt möglich das Sub's in Arbeitsblättern arbeiten ohne dass ich mich in ihnen befinde? Sonst lass ichs gleich bleiben� [Diese Nachricht wurde von Sepsis am 21. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP runkelruebeModerator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 >> Also ist es überhaupt möglich das Sub's in Arbeitsblättern arbeiten ohne dass ich mich in ihnen befinde? Sonst lass ichs gleich bleiben JA. >> Aufgeben gildet nich!� Es ist dann nicht ActiveSheet gefragt, sondern Du sprichst die Tabellen dann halt direkt mit ihrer Indexnummer an (Name ist ja schlecht, der ändert sich ja bei Dir scheinbar alle 3 Minuten� Alle Blätter durchgehen z.B. mit Schleife � la Code: ------------------ System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Moderator Arbeiter ツ Beitr�ge: 2896 Das Innerste ge�ussert Mitglied Beitr�ge: 399 Mitglied Beitr�ge: 399 Epl 5.70 SC1 Zitat: Warum funktioniert die Funktion =vorher nur in deinem Projekt? Wenn ich ein neues Blatt erstelle funktioniert diese Funktion nicht!? Du hast aber nicht in den Visual Basic Editor gschrieben, wo kommt diese Funktion her? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP runkelruebeModerator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 Mitglied Beitr�ge: 399 Moderator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 Mitglied Beitr�ge: 399 Also wenn du dir das Excel File anschaust und man markiert die einzelnen Zellen in den Arbeitsblättern auf welchen jetzt irgendwo =vorher die Zelleinfo herholt, dann wirst du bemekren das dort kein Name vergeben wurde! Auch darf eine Zelle welche ich einen Namen vergeben habe nur einmal im ganzen Excel File vorkommen es funktioniert aber auf jedem Tabellenblatt und holt sich die INfo von der gleichen Zelle immer ein Blatt davor? Also wie soll deine Theorie funktionieren? Ich kann es auch in jeder X-beliebigen Zelle reinschreiben und er holt sich die Info auch aus der gleichen X-beliebigen Zelle davor aus dem Blatt davor! Ich kann es auch in jedem Arbeitsblatt reinschreiben nana xd Ein Name ist eine fixe Definition einer Zelle die Zelle müsste ja forensische Fähigkeiten haben um wissen zu könne welche Zelle ich das nächste mal mit =vorher abfragen will, und dann gibt sich die Zelle auf Wundersame Weise den Namen oder wie jetzt! [Diese Nachricht wurde von Sepsis am 24. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP runkelruebeModerator Stra�en- / Tiefbau Beitr�ge: 8017 MS-Office 365 ProPlus x86 Also =vorher ist ein Name. Der bezieht sich auf =INDIREKT(INDEX(ARBEITSMAPPE.ZUORDNEN(1);DATEI.ZUORDNEN(87)-1)&"!"&ADRESSE(ZEILE();SPALTE())) und ist in der Arbeitsmappe gültig. Das Thema NAMEN hat auf der verlinkten Seite 5 Kapitel. Alle schon durch? Und ganz dringende Bitte: Hör auf, Deine Beiträge immer wieder komplett zu editieren. Manchmal stehen da wenige Sekunden später halbe Romane zusätzlich Mit Deiner Formulierung Zitat:habe ich leider größte Schwierigkeiten. Ich weiß leider nicht, wo Dein Problem genau liegt, bzw. wie weit Du Thomas' Mappe verstanden hast bzw. wie fit Du generell in Excel bist. Vielleicht versuchst Du es nochmal mit Formulierungen, in denen Du genau schreibst, wann Du welche Zelle anklickst, welches Ergebnis dabei herauskommt und was Du im Gegenzug erwartet hättest. ------------------ System-Info | Dateianhänge | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Ich werde mir deinen Link mal durcharbeiten!! Eventl. weiß ich dann alles .. Mein Problem ist z.B.: ich kann jedes Arbeitsblatt mit Strg+A markieren und den ganzen Inhalt löschen sprich es steht keine Formel nix mehr irgendwo und trotzdem funktioniert der Name �=vorne� wo hätter er denn der Zelle mit der Formel drinnen den Namen vorne gegeben? Und warum funktioniert dies überall nur nicht in der Tabelle 4?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Epl 5.70 SC1 OK jetzt ist alles klar! Doch diese Lösung hat für mich einen großen Hacken, und zwar ich habe jetzt z.b: 5 Arbeitsblätter und hole mir über über die besagte Formel den Inhalt der Zelle vom vorangegangen Arbeitsblatt. Bei mir handelt es sich um Datum Informationen (übrigens darf kein �-� im Namen des Arbeitsblattes verwendet werden, weder am Anfang in der Mitte noch sonst wo sonst funktioniert die Formel nicht), und ich zähle zum vorangegangen Datum +7 dazu also steht dann in der Zelle =vorher+7. Er zählt auch 7 Tage zum Ergebnis dazu beim dritten Registerblatt über nimmt er aber den Wert welchen die vorangegangene Zelle ohne die plus 7 Tage hat. Das gleiche Verhalten haben alle darauffolgenden Arbeitsblätter. D.h. die Plus 7 funktionieren nur über 2 Registerblätter, danach wird einfach immer der gleiche Wert übernommen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP Thomas HarmeningModerator Arbeiter ツ Beitr�ge: 2896 Das Innerste ge�ussert Zitat: dumdidudidum, liegt es an der Formel, oder...? Mooooment! - ich muss kurz Einkaufen - mir ist grad' meine Glaskugel heruntergefallen und ohne die wird es schwierig die Mappe in Korrelation zum Fehler? (=Vorher+7) nachzubauen ;-) Bzw. bei mir tritt dieser Fehler nicht auf. eventuell nimmt man auch lieber unterstehende Formel Code:, die funktioniert auch bei Leerzeichen und "-" im Tabellenreiter und Speichernamen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP SepsisMitglied Beitr�ge: 399 Mitglied Beitr�ge: 6 Win XP, Office 2003 Hallo, als Makro-Neuling hat mir das Makro zur Änderung der Tabellennamen sehr geholfen, jetzt habe ich nur noch ein kleines Problem. Ich möchte die erstellte Datei anderen Nutzern zur Verfügung stellen und deshalb die Arbetismappe schützen, damit mir da keiner Arbeitsblätter löscht. Mit dem Schutz funktioniert aber das Makro nicht mehr, ich bekomme nur noch die Fehlermeldung... Gibt es da ein wirksames Mittel gegen? Danke für die Hilfe!! [Diese Nachricht wurde von yhonerbo am 21. Mrz. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP PaulchenMitglied Bauing./SW-Entwickler Beitr�ge: 1227 B�ro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice Mitglied Beitr�ge: 6 Win XP, Office 2003 Ich bekomme die im Makro implementierte Fehlermeldung, dass die eingegebenen Zeichen als Tabellenname nicht zulässig sind. Ich habe den Arbeitsmappenschutz eingeschaltet und den Blattschutz, da einige Zellen bearbeitet werden sollen, andere eben nicht und mir keiner einzelne Tabellen löschen soll. Ich ziehe mit einer Formel in Blatt 1 eine Summe über alle weiteren Blätter. Wenn mir jemand Blatt 2 und/oder Blatt 12 löschen würde, wäre das eine mittlere Katastrophe... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP PaulchenMitglied Bauing./SW-Entwickler Beitr�ge: 1227 B�ro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice Hm... das klingt eher nach einer Excel- als nach einer Makro-Fehlermeldung. Zitieren ist scheinbar zu viel verlangt? An welcher Stelle tritt der Fehler denn auf - und wie soll die Tabelle heißen? Einige (Sonder)Zeichen dürften verboten sein, sowas wie ? und / und \ (vielleicht). Oder ist es die hier von gaaanz oben? Zitat:Was steht in Zelle B2? Fragen über Fragen ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP Thomas HarmeningModerator Arbeiter ツ Beitr�ge: 2896 Das Innerste ge�ussert Mitglied Beitr�ge: 6 Win XP, Office 2003 Oh, ähm, ja. Ich hatte den Text gerade ganz fertig, als mir aufgefallen ist, dass ich nicht zitiert habe. Da wars dann etwas zu spät. Ja, ich meine den Code von ganz oben und nein, ich habe keine Sonderzeichen in die Zelle eingefügt. Ohne Arbeitsmappenschutz funktioniert das was ich da eingebe ganz prima als Tabellenname, sobald ich den Arbeitsmappenschutz einschalte erscheint die Fehlermeldung. Dass man manuell die Namen mit aktivem Mappenschutz nicht ändern kann ist mir schon klar. Ich dachte nur, es gäbe eine Funktion in den Makros, mit denen ich das trotzdem per Makro ändern kann... Schonmal danke für eure Geduld und Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP yhonerboMitglied Beitr�ge: 6 Win XP, Office 2003 Zitat:
Aber trotzdem Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP PaulchenMitglied Bauing./SW-Entwickler Beitr�ge: 1227 B�ro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice Hm... was genau tust Du denn, bevor die Fehlermeldung kommt? Und welche ist es nun? Ich tappe hier im Dunkeln, als Informationsflut lässt sich Dein Posting ja nicht gerade betrachten Hat sich das Ganze nun erledigt, oder wo hakt es noch? Schnapsidee, ungetestet: Du kannst per Makro den Schreibschutz aufheben, Deine Aktionen ausführen, und dann per Makro den Schreibschutz wieder anschalten? ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP yhonerboMitglied Beitr�ge: 6 Win XP, Office 2003 � Zitat: Sorry, im "in Foren etwas fragen" bin ich wohl auch neu... Ich gebe in Feld B2 eine 6stellige Zahl ein und drücke. Ohne Arbeitsmappenschutz: Das Arbeitsblatt wird umbenannt. Ich muss zwar jetzt die Makros wieder rausnehmen (Deadline erreicht), mich würde aber trotzdem für den nächsten Termin interessieren, wie ich im Makro den Arbeitsmappenschutz aufheben und wieder setzen kann. Vor allem, weil ja das Passwort erst aufgehoben und dann neu vergeben werden muss... |