Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
688to692
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
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblätter - Namen

Tabellenblätter - Namen
05.11.2005 14:52:43
Stefan
Hallo,
haben Tabellenblätter einen bestimmten internen Excelnamen, der z.B von der Sortierung abhängt?
Interner Name - Angezeigter Name
Blatt1 - Test1
Blatt2 - Test2
Blatt3 - Test3
Ich möchte gerne von einer Zelle auf Blatt2, das den Namen Test2 hat, einen Wert im Blatt1 haben. Dies ist soweit kein Problem, solange das Blatt2 immer den Namen Blatt2 behält, verändere ich den Namen aber, ist der Wert logischer Weise weg. Ich würde hier gerne einen "internen Namen" verwenden, falls es sowas gibt. Zum anderen möchte ich immer die Werte aus dem vorherigen Blatt nehmen, sprich auf Blatt1 ZelleA1 entspricht Blatt2 ZelleB2 und auf Blatt2 ZelleA1 entspricht Blatt3 ZelleB2... geht sowas? Mann müsste, dann die Blätter nur richtig sortieren, aber man spart sich das Formelnkopieren und ersetzen.
Danke
Stefan

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter - Namen
05.11.2005 14:58:16
Ramses
Hallo
"..., verändere ich den Namen aber, ist der Wert logischer Weise weg. ..."
Das stimmt nicht.
Wenn du in einer Zelle einen Bezug hast in der Form
=Tabelle2!A1
und änderst danach den Namen der Tabelle, passt EXCEL diesen automatisch auch in der Formel an.
Gruss Rainer
AW: Tabellenblätter - Namen
05.11.2005 15:06:34
Stefan
Hallo,
sry da hast du recht... leider wird immer der Name verwendet, bei mir:
='Testerg. (2014)'!E10:F10
Ich möchte aber wie beschrieben mehrere Blätter hintereinanderschalten, und die Formeln sollen sich dementsprechend anpassen. Formel müsste dann so ausschauen. Zellwert ist "aktuellesBlatt-1"!A1 ... oder so ;)
Anzeige
AW: Tabellenblätter - Namen
05.11.2005 15:21:39
Ramses
Hallo
Und wo ist das Problem ?
Auf den internen Namen hast du mit den Formeln keinen Zugriff,... macht auch keinen Sinn
Das summieren von Werten mehrerer Blätter geht ganz einfach
=SUMME(TABELLE2:TABELLE5!A1:A10)
Summiert alle Werte von Tabellen die ZWISCHEN !!! Tabelle2 und Tabelle5 in A1:A10 stehen
Gruss Rainer
AW: Tabellenblätter - Namen
05.11.2005 15:33:40
Stefan
Sagen wir Du hast eine Zelle1 auf dem Blatt Testerg. (2006), darin steht der Wert =('Testerg. (2005)'!E10:F10-'Testerg. (2006)'!E10:F10), so jetzt habe ich im Jahr 2007 z.b. wieder ein Blatt, das heißt Testerg. (2007) und ich möchte in die gleiche Zelle1 auf dem aktuellen Blatt den Wert =('Testerg. (2006)'!E10:F10-'Testerg. (2007)'!E10:F10) haben, und dies für mehrere Jahresblätter und in 100-ten von Zellen, da wäre es doch schön, wenn es eine Möglichkeit gäbe, einmal ein Blatt anzufertigen mit =('AktuellesDatenblatt-1'!E10:F10-'AktuellesDatenblatt'!E10:F10), oder nicht? Man müsste nur noch den Namen des Tabellenblattes in der Ansicht ändern, und es an die richtige Stelle schieben.
Danke
Stefan
Anzeige
Sorry,... keine weiter Idee o.T.
05.11.2005 17:46:11
Ramses
...
AW: Sorry,... keine weiter Idee o.T.
05.11.2005 20:47:24
Erich
Hallo Stefan,
keine schöne Lösung (die Formeln werden leicht verhunzt), aber so könnte es gehen:
Testerg. (2005)
 A
14711
21
32
43
 
Testerg. (2006)
 ABC
1Testerg. (2005)47114717
2   
3Testerg. (2006)Testerg. (2005) 
Formeln der Tabelle
A1 : =LINKS(RECHTS(ZELLE("Dateiname");LÄNGE(ZELLE("Dateiname"))-FINDEN("]"; ZELLE("Dateiname");1));10) &(TEIL(RECHTS(ZELLE("Dateiname");LÄNGE(ZELLE("Dateiname"))-FINDEN("]"; ZELLE("Dateiname");1));11;4)-1) &")"
B1 : =INDIREKT("'"&A1&"'!a1")
C1 : =SUMME(INDIREKT("'"&A1&"'!a1:a5"))
B3 : =LINKS(A3;10)&(TEIL(A3;11;4)-1)&")"
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Sorry,... keine weiter Idee o.T.
05.11.2005 22:09:25
Stefan
Hallo Erich,
netter Vorschlag, aber klappt ja nur wenn ich wirklich 2007,2006,2005 usw. habe und ich bin wieder an einen Namen gebunden. Mach ich bei Deiner Variante 2007,2005,2003 bekomme ich z.B. beim 2007-er Blatt den Wert 2006; also einen falschen ;) Ich dachte echt es gäbe eine Möglichkeit auf das vorherige Datenblatt zu verweisen, ohne auf Namen achten zu müssen...
Danke
Stefan
AW: neue Problembeschreibung...
05.11.2005 23:35:12
Erich
Hallo Stefan,
bei meinem Vorschlag hab ich mich halt an deiner Problembeschreibung und an deinen Beispielen orientiert. Was du wohl wirklich möchtest, ist so etwas:
Tabelle1: Name = "abc"
Tabelle2: Name = "4711"
Formel in Tabelle2: =abc!A1
Wenn zwischen den beiden Blättern ein drittes Blatt mit dem Namen "nocheins" eingefügt wird, soll sich die Formel in Tabelle2 automatisch ändern zu:
Formel in Tabelle2: =nocheins!A1
Dazu hätte ich meinen Vorschlag wirklich nicht hingeschrieben...
Grüße von Erich aus Kamp-Lintfort
P.S.: Sogar das ließe sich realisieren: Mit VBA könnte man alle Bezüge auf andere Tabellenblätter so ändern, dass sie immer auf das jeweilige Vor-Blatt verweisen...
Anzeige
AW: neue Problembeschreibung...
06.11.2005 11:02:16
Stefan
Hallo Erich,
ja genau das ist es was ich suche... leider keine Ahnung von VB :(
Stefan
AW: neue Problembeschreibung...
06.11.2005 21:22:56
Erich
Hallo Stefan,
die folgende Möglichkeit macht zwar bei der Einführung etwas Arbeit, spart aber auf Dauer einigen Aufwand. In jeder Formel mit einem (jetzt noch festen) Bezug auf das Vorblatt musst du den Bezug mittels einer Funktion "vbl()" herstellen.
Umstellungsbeispiel:
Wenn abc das Blatt vor dem aktiven Blatt ist, musst du anstelle von
=abc!$B7:C9
nun schreiben:
=vbl($B7:C9)
Beispiele, bei denen sich nur die Blattfolge geändert hat:
(Die Formeln stehen im Blatt "noch eins".)
 
 ABC
1BlattfolgeWerteBeispielformeln
21  
3abcin xyz=vbl($A$1)
4xyzin abc=vbl(abc!$A$1)
5noch einsin abc=vbl(xyz!$A$1)
6 in xyz und in abc=vbl($A$1)&" und "&vbl(xyz!$A$1)
7   
82  
9xyzin abcDie Formeln bleiben unverändert.
10abcin xyzWerte ändern sich bei Änderung der Blattfolge.
11noch einsin xyz 
12 in abc und in xyz 
13   
143  
15xyzin abc 
16Tabelle4in Tabelle4 
17abcin xyz 
18noch einsin abc und in xyz 
Formeln der Tabelle
B3 : =vbl($A$1)
B4 : =vbl(abc!$A$1)
B5 : =vbl(xyz!$A$1)
B6 : =vbl($A$1)&" und "&vbl(xyz!$A$1)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Und das ist die Funktion (Quelle: https://www.herber.de/forum/archiv/600to604/t602995.htm#603025 ): Option Explicit Function vbl(rg As Range) As Range Application.Volatile If rg.Parent.Index > 1 Then Set vbl = Sheets(rg.Parent.Index - 1).Range(rg.Address) Else Set vbl = rg ' Das erste Blatt verweist auf sich selbst! End If End Function ' Original von IngoG am 24.04.2005 14:19:09 Function vorblatt(zelle As Range) As Range ' wird in dieser Mappe nicht genutzt Application.Volatile If zelle.Parent.Index > 1 Then Set vorblatt = Sheets(zelle.Parent.Index - 1).Range(zelle.Address) Else Set vorblatt = zelle 'für minimum erstes Blatt!!! ' set vorblatt=Sheets(sheets.count).Range(zelle.Address) 'für rollierende zuweisung!!! End If End Function
Macht wie gesagt etwas Arbeit, sollte aber dein Problem lösen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: neue Problembeschreibung...
07.11.2005 10:43:13
Stefan
Hallo Erich,
funktioniert soweit ganz gut, ausser das ich die Sortierung genau andersrum vornehmen will. Also das erste Blatt ist für mich das aktuelle und die Daten sollen für das erste vom 2ten, fürs 2te vom 3ten usw...
Dafür sind glaube ich 2 Änderungen von Nöten, zum einen die Angabe, das er nicht immer von Vorblatt, sondern vom Nachblatt nehmen soll... Hab ich noch kapiert:
Set vorblatt = Sheets(zelle.Parent.Index + 1).Range(zelle.Address)
Zum anderen, das das letzte Blatt auf sich selber zugreifen muß und nicht das erste; und da bräuchte ich nochmal Deine Hilfe.
Danke
Stefan
Anzeige
AW: neue Problembeschreibung...
07.11.2005 11:00:07
Erich
Hallo Stefan,
umgedreht gehts so:
Function vbl(rg As Range) As Range Application.Volatile If rg.Parent.Index < Sheets.Count Then Set vbl = Sheets(rg.Parent.Index + 1).Range(rg.Address) Else Set vbl = rg ' Das erste Blatt verweist auf sich selbst! End If End Function
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Super Lösung...
07.11.2005 14:16:44
Stefan
Hallo Erich,
super jetzt haut es genau so hin, wie ich es mir vorgestellt hatte...
Danke für den Support.
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige