Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Intelligente Tabelle - Auf Zelle zugreifen von and

Intelligente Tabelle - Auf Zelle zugreifen von and
23.09.2019 13:49:41
and
Hallo,
wie kann man von einem anderen Tabellenblatt auf eine Zelle einer intelligenten Tabelle zugreifen?
So kann ich zwar auf eine Spalte zugreifen
=tbl_meinname[spalte]
Aber ich müsste noch die Zeile angeben. Geht das, wenn ja, wie?
Gruß
ebody
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Intelligente Tabelle - Auf Zelle zugreifen von and
23.09.2019 14:00:44
and
Hi
wenn du auf eine bestimmte Zeile der Spalte zugreifen willst, ggf mit Index und der gewünschten Zeilennummer innerhalb der Spalte:
=Index(tbl_meinname[spalte];1)
Gruß Daniel
AW: Intelligente Tabelle - Auf Zelle zugreifen von and
23.09.2019 15:08:04
and
Hallo ebody,
so:
Sheets("Tabelle1").ListObjects("Tabellenname").Range.Cells(3, 2)

oder
Sheets("Tabelle1").ListObjects("Tabellenname).DataBodyRange(2, 2)

Beides ware hier die 2.Zeile, 2.Spalte der intelligenten Tabelle.
Gruss Torsten
Anzeige
AW: Intelligente Tabelle - Auf Zelle zugreifen von and
23.09.2019 15:09:36
and
Das funktioniert, vielen Dank!
Wenn man den Tabellennamen vorab über einen SVerweis() holt, wie kann man das in diese Formel einbauen?
So funktioniert es nicht. Ich kürze die SVWERWEIS Formel hier nur ab.
=Index(SVERWEIS(...)[spalte];1)
Gruß
ebody
AW: Intelligente Tabelle - Auf Zelle zugreifen von and
23.09.2019 15:22:57
and
Ergänzung:
Das funktioniert schon
=Index(SVERWEIS(...)[spalte];1)
Nur dass der Wert, den SVWERWEIS dann ausgibt in Anführungszeichen "tbl_meinname" steht und somit den Fehler #WERT ausgibt. Ich müsste also nur wissen, wie man die Anführungszeichen entfernt und denke, da gibt es noch was anderes als Suchen/Ersetzen oder?
Anzeige
AW: Intelligente Tabelle - Auf Zelle zugreifen von and
23.09.2019 15:40:25
and
Hi
in dem Fall müsstest du über INDIREKT gehen.
Indirekt wandelt einen Text, der wie ein Zellbezug aussieht, in einen Zellbezug um:
=Index(Indirekt(SVerweis(...)&"[spalte]");1)
Gruß Daniel
AW: Intelligente Tabelle - Auf Zelle zugreifen von and
23.09.2019 16:00:30
and
Super, funktioniert, vielen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zugriff auf Zellen in einer intelligenten Tabelle mit Excel VBA


Schritt-für-Schritt-Anleitung

Um auf eine Zelle in einer intelligenten Tabelle (ListObject) zuzugreifen, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf VBAProject (deine Datei), wähle Einfügen > Modul.
  3. Verwende den folgenden VBA-Code:
Dim tbl As ListObject
Set tbl = Sheets("Tabelle1").ListObjects("Tabellenname")

' Zugriff auf eine bestimmte Zelle (z.B. Zeile 2, Spalte 2)
Dim wert As Variant
wert = tbl.DataBodyRange.Cells(2, 2).Value

In diesem Beispiel greifst du auf die Zelle in der 2. Zeile und 2. Spalte der intelligenten Tabelle zu.


Häufige Fehler und Lösungen

  • Fehler: „Objekt nicht gefunden“

    • Lösung: Überprüfe den Tabellennamen und die Schreibweise. Stelle sicher, dass die Tabelle existiert und korrekt benannt ist.
  • Fehler: „#WERT!“ bei der Verwendung von SVERWEIS

    • Lösung: Wenn der Tabellennamen in Anführungszeichen steht, verwende die INDIREKT-Funktion, um den Namen zu konvertieren:
=Index(Indirekt(SVerweis(...) & "[spalte]"); 1)

Alternative Methoden

Neben der Verwendung von VBA kannst du auch Formeln in Excel verwenden, um auf Zellen in einer intelligenten Tabelle zuzugreifen. Hier ist ein Beispiel:

  • Zugriff mit INDEX:
=INDEX(tbl_meinname[spalte]; 1)

Mit dieser Formel greifst du auf den Wert in der ersten Zeile der angegebenen Spalte zu.


Praktische Beispiele

  1. Zugriff auf eine Zelle mit VBA:

    Dim wert As Variant
    wert = Sheets("Tabelle1").ListObjects("Tabellenname").DataBodyRange(2, 2).Value
    MsgBox wert
  2. Verwenden von SVERWEIS mit intelligenter Tabelle:

    =SVERWEIS(A1; tbl_meinname; 2; FALSCH)

Diese Formel sucht den Wert in A1 in der intelligenten Tabelle und gibt den Wert in der 2. Spalte zurück.


Tipps für Profis

  • Dynamische Referenzen: Wenn du häufig auf verschiedene Zellen zugreifen musst, erwäge, Variablen für Zeilen- und Spaltenindizes zu verwenden. So kannst du deinen Code flexibler gestalten.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in deinem VBA-Code, um Probleme beim Zugriff auf Zellen frühzeitig zu erkennen und zu behandeln.


FAQ: Häufige Fragen

1. Wie kann ich die Zeile in einer intelligenten Tabelle dynamisch einfügen?
Verwende die Methode ListObjects("Tabellenname").ListRows.Add um eine neue Zeile hinzuzufügen.

2. Wie greife ich auf eine bestimmte Spalte innerhalb einer intelligenten Tabelle zu?
Nutze die Syntax tbl_meinname[spalte], um auf alle Werte einer bestimmten Spalte zuzugreifen. Um eine spezifische Zelle anzusprechen, kombiniere es mit INDEX.

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