Microsoft Excel

Herbers Excel/VBA-Archiv

Die letzte beschriebene Spalte finden

Betrifft: Die letzte beschriebene Spalte finden von: Peter
Geschrieben am: 23.05.2020 22:51:13

Hallo zusammen,


ich möchte in meiner Sub eine For-Schleife bis zur letzten beschriebenen Spalte laufen lassen.

Dabei nutze ich folgenden Befehl:


For y = 5 To x= xlWkSht2.Cells(2, Columns.Count).End(xlToRight).Column


Leider gibt mir x immer eine 0 aus, obwohl Felder beschrieben sind.


Gehe ich hier falsch vor?


Danke und schönen Abend

Betrifft: AW: Die letzte beschriebene Spalte finden
von: onur
Geschrieben am: 23.05.2020 23:25:52

Ist das dein Ernst?
Eine For Next Schleife besteht aus einem Anfang mit einem festen Endwert:
For y = 1 to 100
Dann kommt, was in der Schleife abgearbeitet werden soll und am Ende der Next-Befehl:
For y = 1 to 100
   'TU IRGENDWAS
Next y


Betrifft: AW: Die letzte beschriebene Spalte finden
von: Peter
Geschrieben am: 24.05.2020 00:32:10

Hallo Onur,

verstehe deine Antwort nicht....
Ich hatte ja nicht gefragt wie man eine Schleife macht,das ist mir schon klar.

Ich will, dass meine Schleife eine Liste von Einträgen abarbeitet solange, wie keine Leeren Zellen in dieser sind.

Deswegen will ich, dass diese bis zum Wert
x= xlWkSht2.Cells(2, Columns.Count).End(xlToRight).Column
die Schleife ausführt.

Leider wird mir dieser Wert immer als 0 ausgegeben.
Obwohl die Felder im angesprochenen Arbeitsblatt nicht leer sind.

Ich habe NICHT gefragt wir man eine For Schleife macht.

Betrifft: AW: Die letzte beschriebene Spalte finden
von: onur
Geschrieben am: 24.05.2020 00:35:10

"Ich hatte ja nicht gefragt wie man eine Schleife macht,das ist mir schon klar." ???
Wieso schreibst du dann:
For y = 5 To x= xlWkSht2.Cells(2, Columns.Count).End(xlToRight).Column

statt:
x= xlWkSht2.Cells(2, Columns.Count).End(xlToRight).Column
For y = 5 To x


Betrifft: ...und müsste es nicht "End(xlToLeft)" lauten? o.T
von: Martin
Geschrieben am: 24.05.2020 01:22:31



Betrifft: AW: Die letzte beschriebene Spalte finden
von: Barbara
Geschrieben am: 24.05.2020 07:19:54

Hi Peter

Probier mal "xlToLeft" statt "xlToRight".

Denn
xlWkSht2.Cells(2, Columns.Count)
bedeutet:
Vom Tabellenblatt "xlWkSht2" die Zelle in Zeile 2 und Spalte "Columns.Count", also die letzte Spalte.

Von dort aus kommst Du mit ".End(xlToRight)" nicht mehr weiter nach rechts, da Du ja mit "Columns.Count" schon am rechten Rand des Excel-Universum stehst.

".End(xlToLeft)" ist dasselbe wie händisch Strg + die Taste "Pfeil nach links" drücken. Das ist dann die letzte nichtleere Zelle in dieser Zeile.

Mit ".Column" bekommst Du dann die Spaltennummer dieser Zelle. Diese Nummer brauchst Du für Deine Schleife.

Daher:
For y = 5 To xlWkSht2.Cells(2, Columns.Count).End(xlToLeft).Column
Wenn Du "x=" verwenden willst, dann so:
x= xlWkSht2.Cells(2, Columns.Count).End(xlToLeft).Column
For y = 5 To x
Damit hast Du erst die Spaltennummer bestimmt, und diese dann in die Schleifensteuerung eingesetzt.

Alles Klar?

LGB

Betrifft: AW: Die letzte beschriebene Spalte finden
von: Peter
Geschrieben am: 24.05.2020 12:06:36

Hallo Barbara,

leider hat auch das nicht geklappt....
Vielen Dank trotzdem, v.a. für die Erklärung :)

Peter

Betrifft: AW: Die letzte beschriebene Spalte finden
von: Hajo_Zi
Geschrieben am: 24.05.2020 08:32:46

ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column

GrußformelHomepage

Betrifft: AW: Die letzte beschriebene Spalte finden
von: Peter
Geschrieben am: 24.05.2020 12:04:46

Hallo Hajo,

danke für deine Antwort.
Hat gut geklappt.

VG

Beiträge aus dem Excel-Forum zum Thema "Die letzte beschriebene Spalte finden"