Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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

Strukturierte Verweise für Excel Tabellen

Strukturierte Verweise für Excel Tabellen
Reinhard
Hallo Wissende,
In dieser Mappe: https://www.herber.de/bbs/user/75500.xlsm
wird z.B. in G12 des Hauptblattes diese Formel benutzt:
=[Geplante Kosten]-[Ist-Kosten]
Sowas kannte ich nicht, jmandd. verwies auf diesen Link zu Microsoft:
http://office.microsoft.com/de-at/excel-help/verwenden-von-strukturierten-verweisen-fur-excel-tabellen-HA010155686.aspx
Scheinbar habe ich das dort nicht verstanden denn mein Versuch in Blatt "Tabelle1" das von G12 nachzubauen scheiterte wie man sieht:-(
Was müßte ich da in Tabelle1 abändern?
Ich habe eigene Bereichsnamen angelegt, Test, Bereich, _TitelA,_TitelB, die sehe ich auch wie gewohnt in diesem Code:
Sub tt()
Dim N
For Each N In ThisWorkbook.Names
MsgBox N.Name & " " & N.RefersToLocal
Next N
'MsgBox ThisWorkbook.Names("Ersparnisse") '.RefersToLocal
End Sub

Aber die anderen ca. 10 Namen die dort im Namensmanager stehen kann ich nicht ansprechen.
Sind das keine Namen?
Wie spreche ich die an in Vba?
Gruß ^ Danke
Reinhard

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Strukturierte Verweise für Excel Tabellen - Listen
01.07.2011 07:35:54
fcs
Hallo Reinhard,
bei dieser Art von Datenbereichen handelt es sich um Tabellen, die unter Excel 2007 und via Einfügen--Tabelle anglegt werden, nachdem man den entsprechende Tabellenbereich (möglichst schon mit Spaltentiteln) markiert hat. In älteren Excelversionen geht's via Menü Daten--Liste. Leider gibt es im Deutschen die Bezeichnung "Tabelle" sowohl für das Tabellenblatt als auch für diese speziellen Tabellenbereiche, was etwas verwirrend ist. Deshalb verwendet Microsoft statt "Tabellenblatt" meist "Arbeitsblatt". Im Englischen gibt es "Sheet" für das Tabellenblatt und "List" für Tabelle.
Nur die Namen dieser Listobjekte werden angezeigt, aber nicht die aus den Spaltentiteln der Liste ableitbaren Zellbereiche. In den Formeln, die Tabellenbereiche auswerten, können dann die Spaltennamen und die Namen von bestimmten Bereichen -in eckige Klammern gesetzt- verwendet werden. Teilweise muss auch der Name des Tabellenobjekts in den Formeln angegeben werden. Am einfachsten ist es, hinter dem Namen des Tabellenobjekts die öffende eckige Klammer [ zu schreiben, dann wird eine Liste mit den Namen der verfügbaren Zellbereiche angezeigt, und nach der Auswahl des Namens die schliessende eckige Klammer ]. In Verbindung mit vielen Funktionen muss immer erst der Name des Tabellenobjekts ausgewählt werden, dann mit [ der Bereich.
Unter Vba ist so eine Tabelle ein Listobject und man kann diese Listobjekte mit ihrem Namen ansprechen, oder mit der Index-Nr.
Listenobjekte sind Unterobjekte von Tabellenblättern. Einzelne Bereiche (Titelzeile, Ergebniszeile, Datenbereich) können als Unterobjekte des Listobjektes angesprochen werden. Zellen, Zeilen und Spalten dieser Bereiche müssen mit ihrer Indexnummer angegeben werden ähnlich wie in Tabellenblättern mit Cells(Zeile, Spalte), Rows(Zeile), Columns(Spalte).
Ich hab in deiner Tabelle ein paar Beispielformeln eingebaut und das Makro so angepasst, dass Informationen und Auswertungen zum Listobject angezeigt werden.
https://www.herber.de/bbs/user/75534.xlsm
Gruß
Franz
Anzeige
Superklasse :-))
01.07.2011 08:44:30
Reinhard
Hallo Franz,
bedanke mich sehr bei dir für die Ausführlichkeit.
Anstelle von
=B2+C2
zu schreiben:
=[TitelA]+[TitelB]
hat schon sichtbare Vorteile die Formel schnell zu verstehen bei Blick auf die Spaltentitel.
Die gleichwertige Formel:
=MeineLieblingsTabelle[[#Diese Zeile];[TitelA]]+MeineLieblingsTabelle[[#Diese Zeile];[TitelB]]
ist für mich erst noch gewöhnungsbedürftig.
Lieben Gruß
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige