Microsoft Excel

Herbers Excel/VBA-Archiv

Letzte Spalte / Zeile entgegengesetzt ermitteln


Betrifft: Letzte Spalte / Zeile entgegengesetzt ermitteln von: Christian
Geschrieben am: 24.09.2019 16:49:28

Grüßt euch,

ich versuche gerade die letzte gefüllte Spalte bzw. Zeile zu ermitteln.

mit

letzteZeileKurs = Daten.Cells(Rows.Count, 2).End(xlUp).Row
letzteSpalte = Daten.Cells(5, Columns.Count).End(xlToLeft).Column


funktioniert das auch super gut.

Ich würde es jedoch gerne aus der entgegengesetzten Richtung ermitteln lassen. Sprich bei Zeilen von oben, bei Spalten von Links.
Quasi die erste nicht befüllte Spalte/Zeile finden.

Grund hierfür ist, das ich dynamisch Daten in ein Tabellenblatt kopiere. Mit jederm Datensatz wird eine neue Spalte eingefügt in diese der Datensatz kopiert wird. Rechts neben der neu eingefügten Spalte kommt eine Spalte frei und dann wiederum Spalten mit Daten.

Ich könnte natürlich die anzahl der befüllten Spalten in dem Rechten Block zählen lassen, und diese auf die "letzte Spalte" addieren. Jedoch halte ich das für Fehleranfälliger :D

Kurz gesagt: gibt es eine Funktion die nicht vom Ende an zählt, sondern vom Start?

Beste Grüße

Chris

  

Betrifft: AW: Letzte Spalte / Zeile entgegengesetzt ermitteln von: EtoPHG
Geschrieben am: 24.09.2019 16:55:21

Hallo Profi,

Das Ende ist .Count, der Start dann wohl 1.
Rauf ist xlUp, runter dann wohl xlDown.
Links ist xlToLeft, rechts dann wohl xlToRight.

Gruess Hansueli


  

Betrifft: AW: Letzte Spalte / Zeile entgegengesetzt ermitteln von: Christian
Geschrieben am: 24.09.2019 17:09:36

Hallo Hansueli,

ich verstehe nicht so recht.

Meinst du mit "Das Ende ist .Count, der Start dann wohl 1." das anstelle von .end eine 1 eingetragen werden soll?

Ich habe es nun mit der worksheetfunction CountA gelöst.

Danke


  

Betrifft: AW: Letzte Spalte / Zeile entgegengesetzt ermitteln von: Christian
Geschrieben am: 24.09.2019 17:14:33

@Daniel,

danke dir.
Das wenn es xltoright gibt auch xlroleft geben muss, war mir bewusst. Ich habe nur in der Syntax nicht verstanden wie ich den Startpunkt auf 1 setze anstatt auf Ende.

Da habe ich mich wohl undeutlich ausgedrückt, tut mir leid.

Grüße


  

Betrifft: Zeile 1 bzw. Spalte 1 (omg und owT) von: EtoPHG
Geschrieben am: 24.09.2019 17:31:03




  

Betrifft: AW: Letzte Spalte / Zeile entgegengesetzt ermitteln von: Daniel
Geschrieben am: 24.09.2019 16:57:34

HI
naja, wenns ein xlToLeft gibt, dann ist nicht unwahrscheinlich, dass es auch in xlToRight gibt, eben so legt das xlUP die Vermutung nahe, dass es auch ein xlDown gibt.
Ausgangspunkt muss dann natürlich die jeweils erste Zelle sein, nicht die letzte.

zu beachten ist, dass abhängig vom jeweiligen Befüllungszustand der Absprung- und ihrer Nachbarzelle in Sprungrichtung unterschiedliche Verhalten gibt, welches die angesprungene Zelle ist.

Gruß Daniel


  

Betrifft: AW: Letzte Spalte / Zeile entgegengesetzt ermitteln von: Piet
Geschrieben am: 24.09.2019 19:04:45

Hallo Christian

als alter Praktiker, und nicht die "hellste Leuchte" im Forum, frage ich dich mal ganz höflich warum du einen excellenten Code gegen eine störanfaellige Variante eintauschen wolltest???

Um das Spalten Ende nach Rechts zu finden musst du klar mit der ersten Spalte beginnen, z.B. A1! - hast du aber leere Spalten oder Zeilen dazwischen stimmt die LastSpalte/ Zeile NICHT mehr! Der Code bleibt vor der ersten leeren Spalte/ Zeile stehen! - Das sollte man als VBA Tücke wissen, denn Excel kann NICHT denken!!!

Die Variante mit CountA muss auch nicht stimmen, wenn du leere Spalten dazwischen hast. Prüfe das bitte noch mal nach. Der alte Code ist Optimal!

mfg Piet


Beiträge aus dem Excel-Forum zum Thema "Letzte Spalte / Zeile entgegengesetzt ermitteln"