Anzeige
Archiv - Navigation
1952to1956
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

For zeile auf format. Tabelle,- Spalte beziehen

For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 11:19:49
Fred
Hallo Excel Experten,
ich möchte anstatt:
For zeile = 3 To Sheets("Last").Cells(Rows.count, 3).End(xlUp).Row

For zeile = 3 To 10

lieber so schreiben:
For zeile = Tabelle2[@[onTargH]

sollte doch auch gehen, dass die Spalte (onTargH) einer formatierten Tabelle (Tabelle2) angesprochen wird?!
Wie schreibe ich es richtig?

Gruss
Fred

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

Betreff
Datum
Anwender
Anzeige
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 11:38:00
Oberschlumpf
Hi,

diese Zeile versteh ich nicht:
For zeile = Tabelle2[@[onTargH]


ohne Bezug auf eine intelligente Tabelle würde der Befehl so aussehen...
For zeile = Column(irgd eine Zahl)

...und würde allein SO keinen Sinn machen

suchst du vllt so etwas:


Dim lloRow As Long

With Sheets("Last").ListObjects("Tabelle2")
For lloRow = 1 To .ListRows.Count
.DataBodyRange(lloRow, 1).Value = "etwas zuweisen" '1 = Spalte 1 in der intelligenten Tabelle; du müsstest die Spaltennummer für onTargH eintragen
Next
End With

Hilfts?

Oder schau dir das hier an: https://www.thespreadsheetguru.com/listobject-tables-vba/
Sehr gutes Tutorial für intelligente Tabellen!

Ciao
Thorsten
Anzeige
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 11:49:20
Fred
Hallo Torsten,
.. war ein bischen doof erklärt.
also, wenn ich eine Schleife schreibe, die den Beginn und das Ende definiert, könnte ich so beginnen:
For zeile = 3 To Sheets("Last").Cells(Rows.count, 3).End(xlUp).Row

die Schleife wird von Zeile 3 bis zum letzten Eintrag von Spalte 3 ausgeführt.
Anstatt der Angabe von Sheet und letzter Spalte, würde ich lieber (wenn möglich) nur die intelligente Tabelle ansprechen.
Ist das möglich?

Gruss
Fred

AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 11:53:45
Oberschlumpf
Hi,

ich würd sagen: Nö, nich möglich, da ja die intell. Tabelle - ein Teil - eines Sheets ist.
Somit musst du dem Code schon "sagen", welche intell. Tabelle aus welchem Sheet meinst du denn?

Aber da ja auch ich nich alles weiß, gehts vllt doch so, wie du es gern hättest - da bleibt dir dann: auf andere Antworter zu warten

Ciao
Thorsten
Anzeige
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 11:59:35
Fred
.. naja, ich dachte, dass wenn der Name einer formatierten Tabelle ja einzigartig in der Arbeitsmappe ist, könnte er im gewünschten Bereich ("For zeile =") auch eingesetzt werden...
Gruss
Fred
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 12:06:16
Oberschlumpf
Hi,

"...wenn der Name einer formatierten Tabelle ja einzigartig in der Arbeitsmappe ist..." = das stimmt so aber nicht.

Auf deinen Code bezogen heißt deine intell. Tabelle = "Tabelle2"
Genau so "Tabelle2" kann auch ein Tabellenblatt heißen.

Und wenn du jetzt z Bsp...


For x = Tabelle2...usw

...schreibst, weiß Excel nicht genau: Meinst du jetzt Sheets("Tabelle2") oder meinst du intellig. "Tabelle2"

Aber sei es drum. Daniel hat ja eine Antwort, mit der du vllt mehr anfangen kannst.

Ciao
Thorsten
Anzeige
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 12:15:07
Fred
hast recht, Torsten!
aber wenn ich der formatierten Tabelle einen eindeutigen Namen gebe, oder es kein Sheet mit gleichen Namen gibt ....
Es geht eigentlich nur darum, den Code kurz, knapp und verständlich für einen Schwachsinnigen zu halten :-)
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 12:15:49
daniel
Meine "Antwort" ist keine Antwort, sondern erstmal nur eine Rückfrage.

Gruß Daniel
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 12:21:00
Fred
wie würde denn "For zeile =" weiter geschrieben, wenn sie als Range-Objekt über jede Zelle der Spalte dient und die intelligente Tabelle mit dem Namen "TabelleXX" angesprochen werden soll?
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 13:08:43
daniel
Dim Zelle as Range

for each Zelle in Range("TabelleXX[Spaltenname]")
...
next


die Namen der Intelligenten Tabellen sind dem ganzen Projekt bekannt, daher ist es nicht notwendig, dem Range das Tabellenblatt voranzustellen, auf dem die Tabelle liegt.
die einzelnen Informationen zu Zelle kannst du dann direkt über die Variable abgreifen, auch die Zeilennummer falls benötigt (Zelle.Row)
solltest du auf andere Zellen in Abhängigkeit von dieser zugreifen wollen, verwende Zelle.Offset(0, 1) das wäre dann die rechte Nachbarzelle.

Gruß Daniel
Anzeige
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 13:33:01
Oberschlumpf
ah, danke Daniel!
Da hab auch ich wieder was gelernt.
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 11:58:11
daniel
Hi
Ja ist prinzipiell möglich
Über was soll denn die Schleife laufen?
a) als Zahl von Startzeile bis Endzeile ( absolute Zeilennummer)
b) als Zahl von 1 bis X (relative Zeilennummer beginnend mit 1)
c) als Range-Objekt über jede Zelle der Spalte

Gruß Daniel
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 12:04:14
Fred
Hallo Daniel,
ganz einfach "a"
als Zahl von Startzeile bis Endzeile ( absolute Zeilennummer)
.. aber deine Auswahl läßt mich erahnen, das dies wohl alles nicht so einfach ist, dabei habe ich mir mit der Antwort einen kürzeren und verständlicheren Code gewünscht :-)
Gruss
Fred
Anzeige
AW: For zeile auf format. Tabelle,- Spalte beziehen
20.11.2023 12:13:24
daniel
Genauen Code müsste ich raussuchen, aber übersetzt wird er lauten:

Von der Zeilennummer des Listobjektes bis zu Zeilennummer des Listobjektes + Anzahl der Zeilen des Listobjektes - 1

Kürzeren Code bekommt man in der Regel mit c)

Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige