Hallo, darf ich hier folgende Frage dazu stellen? Ich suche eine Lösung fürs Tabellenblatt kopieren. Für jedes Jahr mache ich ein neues Tabellenblatt auf, indem ich das letzte z.b. 2024 kopiere und daraus 2025 erstelle. Das Problem liegt darin, dass ich bestimmte Zellenwerte mit dem Vorjahr verknüpft habe und diese Formeln im neuen Tabellenblatt händisch um eine Jahreszahl erhöhen muss.
Gibt es eine Funktion mit der man statt die Zelle immer aus dem vorherigen Tabellenblatt anklicken zu müssen, immer die Zelle des vorherigen Tabellenblattes genommen wird? Bisher: =AJ13-'2023'!AJ13
Nachher-Idee: =AJ13-'vorheriges Blatt'!AJ13
Wie müsste die Formel aussehen?
Im Netz habe ich irgendsowas gefunden, aber geht nicht =vorblatt(a1) =@vorblatt(vorblatt(A15))
Nachtrag ich ahbe gerade mal eine Testdatei mit deinem Makro laufen lassen. Alles einwandfrei. Das Umstellen der Spalten geschieht über Optionen, wenn dort die Bezugsart auf Z1S1 steht! Das steht aber NICHT im Makro Code, den Befehl gibt es auch nicht in meiner Beispieldatei!
07.01.2025, 11:39 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2025, 11:42 von Taunusmann.)
@ Gast 123
Du brauchst dich für dein Makro #11 nicht zu entschuldigen, denn es bewirkte außer komischen Fehlermeldungen rein gar nichts, weder eine Löschung der Namen im Namensmanager, noch verursachte es unerwünschte Änderungen wie z.B. die Umwandlung der Spaltenbezeichnungen von Buchstaben in Zahlen. All dies geschah erst, als ich das im Internet gefundene Makro #17 laufen ließ. Immerhin beseitigte es sämtliche Namen im Namensmanager mit #BEZUG! und das waren fast alle Namen.
Nur die Frage, warum Namen im Namensmanager automatisch erzeugt werden (z.B. bei Festlegung eines Druckbereichs), ist nach wie vor unbeantwortet, so auch, warum automatisch erzeugte Namen seltsame Bezeichnungen wie "a" oder gar den Vornamen meiner Frau tragen. Aktiv habe ich dazu nichts beigetragen.
Meine Datei kann ich leider nicht uploaden, denn sie ist außerordentlich komplex und nicht zu anonymisieren.
Ich bedanke mich für die vielen Hinweise und Tipps.
07.01.2025, 15:52 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2025, 15:55 von Gast 123.)
Hallo Dieter
ich habe auf Grund deiner Antwort sofort gesehen warum mein Makro nicht funktionierte. Du begreifst es sicher sofort. Wir prüften mit If Then NUR '#REF, kein '#BEZUG! So einfach. Hat das Makro #17 nur diese Löschfunktion, oder gibt es da noch andere VBA Befehle???
Mfg Gast 123
Code:
Sub Dead_Names_Del() For Each NameDef In ActiveWorkbook.Names If InStr(1, NameDef.RefersTo, "#REF!") > 0 Or _ InStr(1, NameDef.RefersTo, "#BEZUG!") > 0 Then NameDef.Delete End If Next End Sub
Nachtrag Ich habe mal aus Neugier in deiner Beispieldatei die Printfunktion getestet. Da wird tatsächlich immer der PrintArea Bereich im Namensmanager sofort festgelegt. Wie aber andere Namen da reinkommen, vor allem Vornamen, ist mir ein großes Rätsel???
07.01.2025, 16:50 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2025, 16:50 von HKindler.)
Hi Dieter,
eigentlich wollte ich mich ja bei deinen Fragen zurückhalten, aber ich kann einfach nicht anders...
(07.01.2025, 11:39)Taunusmann schrieb: Nur die Frage, warum Namen im Namensmanager automatisch erzeugt werden (z.B. bei Festlegung eines Druckbereichs), ist nach wie vor unbeantwortet,
Da musst du schon MS fragen. Fakt ist, dass Excel halt manche Namen wie z.B. den Druckbereich einfach braucht. Diese automatisch generierten Namen kann man auch einfach ignorieren, denn es sind nur einige wenige. Der NameManger von JKP blendet diese auf Wunsch übrigens aus.
(07.01.2025, 11:39)Taunusmann schrieb: warum automatisch erzeugte Namen seltsame Bezeichnungen wie "a" oder gar den Vornamen meiner Frau tragen. Aktiv habe ich dazu nichts beigetragen.
(07.01.2025, 11:39)Taunusmann schrieb: Meine Datei kann ich leider nicht uploaden, denn sie ist außerordentlich komplex und nicht zu anonymisieren.
Dazu möchte ich nur auf www.excel-ist-sexy.de/upload-nicht-moeglich verweisen (ist nicht von mir, hat aber meine volle Zustimmung). Und wenn deine Datei "außerordentlich komplex" ist, dann solltest du vielleicht auch mal über eine bessere Datenstruktur nachdenken.
Gruß, Helmut
Win10 - Office365 / MacOS - Office365
Folgende(r) 2 Nutzer sagen Danke an HKindler für diesen Beitrag:2 Nutzer sagen Danke an HKindler für diesen Beitrag 28 • BoskoBiati, Kl@us-M.
07.01.2025, 21:25 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2025, 21:25 von Taunusmann.)
Tatsächlich!
Eingaben in das Namenfeld links neben der Bearbeitungsleiste erzeugen im Namensmanager Namen. Aber dort habe ich nur selten und dann keinen solchen Unsinn wie sfökjseökösbksöbna o.ä. eingegeben, sondern garantiert nur Zellbezüge wie z.B. A100. Die ungefähr 1200 Namen müssen also woanders herkommen. 1200 Namen anzugeben würde einen ganzen Tag dauern !!!
08.01.2025, 12:27 (Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2025, 12:30 von Gast 123.)
Hallo Dieter
ich habe eine nette Überraschung für dich, schau dir bitte mal diese Datei an. Das ist -dein Thread-, kopiert aus dem Internet mit Ctrl-C und Ctrl-V. Wie du siehst gibt es dort Wb-Names die mit pid für Picture anfangen!
Klicke bitte mal in die Zellen wo die Bilder sind. Diese Zellen heissen jetzt - pid298233 usw. Erklärt dir das wo unerwünschte Namen herkommen können. Das habe ich jeden Tag. Ich kopiere mir interessante Thread in eine Excel-Liste, lösche aber vor dem Speichern alle Wb-Namen!
mfg Gast 123 Nachtrag Abhilfe wäre, ein Makro zu erstellen wo wichtige Namen die du behalten willst in einer Liste stehen, und den Rest löschst du automatisch vor dem Speichern der Datei. Das ist kein grosser Aufwand. Muss nur einmal programmiert werden.
Wie hast du das gemacht? Wenn ich in diesem Thread im Edge Strg-A, Strg-C drücke, dann eine neue Excel-Datei öffne und dort in A1 Strg-V drücke, dann bekomme ich einige Warnungen, von wegen, ob ich wirklich aktive Inhalte aktivieren will, bzw. ob ich die Aktualisierung von externen Links zulassen will, aber es werde keine Namen erzeugt.