Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

Forumthread: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
18.06.2009 22:27:16
Jörg
Guten Abend, liebe Gemeinde
bei excelformeln.de fand ich die im Betreff anegebene Funktion (liegt im Artikel 392) - wenn ich die in eine Zelle eigebe, wird mir gesagt "Funktion ungültig" - Warum?
Mein Ziel ist, Verweise über Tabellenblätter hinweg zu erstellen.
Hat jemand einen Tip?
Schönen Abend
Jörg
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
18.06.2009 22:31:57
Josef
Hallo Jörg,
wer lesen kann, .....
Excel4-Makrofunktionen, kannst du nur in definierten Namen oder in makrosheets verwenden,
nicht direkt in der Tabelle.
Gruß Sepp

?
19.06.2009 09:25:50
Jörg
Hallo Sepp,
danke für den Tip. Aber was soll der Spruch mit dem "lesen"? Aus dem Text in Artikel 392 geht nicht hervor, was das Besondere an Excel4-Makrofunktionen ist und wo man sie verwenden kann oder nicht. Und wenn ich das wüßte, würde ich wohl hier nicht fragen...
Gruß - Jörg
Anzeige
Steht nicht DIREKT drin
19.06.2009 09:41:27
NoNet
Hallo Jörg,
Du hast Recht : Es steht nicht explizit im o.g. Artikel, dass diese Lösung ausschliesslich per Namensdefinition funktioniert, aber zumindest ist in der dargestellten Lösung beschrieben, dass dafür ein Name definiert werden soll :

Lösung
Definiere einen Namen.
Name: x
Bezieht sich auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())


Der Zugriff auf die einzelnen Tabellenblätter funktioniert dann über INDEX(x;zeile())
Gruß, NoNet

Anzeige
lokal oder global?
19.06.2009 15:10:51
Jörg
Hi NoNet
muß ich denn dafür einen lokalen oder einen globalen Namen definieren?
Und abgesehen davon - ich verstehe diese Funktion nicht. JETZT() ist doch ein Wert im Zeitablauf - was hat das denn mit Bezügen zu Tabellenblättern zu tun?
Gruß Jörg
Globaler Name
19.06.2009 15:30:33
NoNet
Hallo Jörg,
Zur Verwendung dieser Funktion musst Du einen "einfachen" Namen (z.B. "TabName") verwenden, d.h. definiere ihn einfach global (also ohne "Tabelle1!" vor dem Namen !).
Der Trick mit dem Zusatz +JETZT()*0 hat folgenden Hintergrund :
=ARBEITSMAPPE.ZUORDNEN(1) ist die Excel4Makrofunktion zum Übergeben des ARRAYs der Tabellenblattnamen der aktuellen Mappe. Das funktioniert auch bei Erstellung des Namens einwandfrei.
Mit =INDEX(TabName;ZEILE()) kann man auch die entsprechenden Tabellenblattnamen auflisten.
Allerdings ist dieser Name STATISCH - und das ist das grosse Problem !
Wenn also Tabellenblätter gelöscht, hinzugefügt, verschoben oder umbenannt werden, dann bekommt der definierte Name davon nichts mit !
Mit dem Zusatz +JETZT()*0 (Was mathematisch gerechnet 0 ergibt, da jegliche Multiplikation mit 0 wieder 0 ergibt !) , wird das Argument (1) in dieser Funktion wertmässig nicht verändert, aber die Funktion verwandelt sich nun in eine sog. "volatile" (also: flüchtige) - oder einfacher ausgedrückt : dynamische Funktion. D.h. der definierte Bereichsname reagiert nun auf das geänderte Tabellenblatt-ARRAY, also auf Umbenennen, Verschieben, Löschen, Hinzufügen etc. von Tabellenblättern !
Ich hoffe, ich konnte Dir das Prinzip verständlich machen
Gruß, NoNet
Anzeige
...klang erst ganz plausibel, aber...
19.06.2009 18:33:38
Jörg
...nachdem ich das mal probiert habe, versteh ich nur noch Bushaltestelle ;-)
also ich mach ne Mappe, speicher sie unter dem Namen "Test", definiere in Tabelle2 Zelle A1 den Namen Meier, stelle die Formel
=INDIREKT("'"&INDEX(x;VERGLEICH(ZELLE("Dateiname";A1);INFO("Verzeichnis")&x;)-1)&"'!A1")
in die Zelle C2 der Tabelle3 und denke, dort erscheint Meier. Statt dessen erscheint #NAME?
Warum denn?
Und wohin muß ich denn diese ominöse Funktion =ARBEITSMAPPE.ZUORDNEN(1) schreiben? Die finde ich ja noch nicht einmal in der Excel-Hilfe...
:-((( Jörg
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Verknüpfungen über Tabellenblätter hinweg mit der Excel-Funktion ARBEITSMAPPE.ZUORDNEN


Schritt-für-Schritt-Anleitung

  1. Definiere einen Namen: Gehe zu "Formeln" > "Namensmanager" und klicke auf "Neu".

    • Name: x
    • Bezieht sich auf: =ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
  2. Verwende die INDEX-Funktion: In der gewünschten Zelle (z.B. C2 von Tabelle3) gib die folgende Formel ein:

    =INDEX(x;ZEILE())
  3. Zugriff auf andere Tabellenblätter: Um auf eine bestimmte Zelle eines Tabellenblattes zuzugreifen, benutze die INDIREKT-Funktion:

    =INDIREKT("'"&INDEX(x;VERGLEICH(ZELLE("Dateiname";A1);INFO("Verzeichnis")&x;)-1)&"'!A1")
  4. Testen und anpassen: Stelle sicher, dass die Arbeitsmappe die Tabellenblätter enthält, auf die du zugreifen möchtest.


Häufige Fehler und Lösungen

  • #NAME?-Fehler: Dieser Fehler tritt auf, wenn die Formel nicht korrekt eingegeben wurde oder der Name nicht definiert ist. Überprüfe die Namensdefinition und die Formel auf Schreibfehler.

  • Funktion ungültig: Stelle sicher, dass du Excel4-Makrofunktionen nicht direkt in Zellen verwendest. Diese sollten in definierten Namen oder Makros verwendet werden.

  • Statische Namen: Wenn du einen statischen Namen verwendest, wird dieser nicht aktualisiert, wenn Tabellenblätter geändert werden. Nutze die +JETZT()*0 Methode, um die Funktion dynamisch zu machen.


Alternative Methoden

  • Verwendung der INDIRECT-Funktion: Anstelle von ARBEITSMAPPE.ZUORDNEN, kannst du auch INDIREKT verwenden, um auf andere Blätter zuzugreifen, wenn die Blattnamen bekannt sind.

  • Dynamische Dropdown-Listen: Du kannst auch Dropdown-Listen erstellen, die die Namen deiner Tabellenblätter dynamisch anzeigen, indem du die ARBEITSMAPPE.ZUORDNEN-Funktion nutzt.


Praktische Beispiele

  • Beispiel 1: Angenommen, du hast eine Arbeitsmappe mit mehreren Tabellenblättern. Definiere den Namen TabName und benutze die Formel:

    =INDEX(TabName;1)

    Dies gibt dir den Namen des ersten Tabellenblattes zurück.

  • Beispiel 2: Wenn du den Inhalt der Zelle A1 von einem anderen Blatt (z.B. "Meier") abrufen möchtest, verwende:

    =INDIREKT("'"&INDEX(x;VERGLEICH("Meier";x;0))&"'!A1")

Tipps für Profis

  • Volatile Funktionen: Sei vorsichtig bei der Verwendung von JETZT(), da es die Berechnungen in deiner Excel-Datei verlangsamen kann, wenn viele volatile Funktionen vorhanden sind.

  • Benannte Bereiche: Nutze benannte Bereiche, um die Lesbarkeit deiner Formeln zu verbessern. Das macht es einfacher, die Struktur deiner Arbeitsmappe zu verstehen.

  • Version beachten: Die Excel4-Makrofunktionen sind möglicherweise nicht in allen Excel-Versionen verfügbar. Stelle sicher, dass du eine unterstützte Version verwendest.


FAQ: Häufige Fragen

1. Warum funktioniert die Funktion ARBEITSMAPPE.ZUORDNEN nicht in meiner Tabelle? Die Funktion kann nur in definierten Namen oder Makros verwendet werden, nicht direkt in der Tabelle.

2. Was ist der Unterschied zwischen statischen und dynamischen Namen? Statische Namen ändern sich nicht automatisch, wenn Tabellenblätter hinzugefügt oder entfernt werden. Dynamische Namen nutzen volatile Funktionen wie JETZT(), um sich automatisch zu aktualisieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige