Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1812to1816
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

VBA Zeilen variabel

VBA Zeilen variabel
23.02.2021 12:52:08
Andreas
Hallo,
ich habe mir mit dem Recorder ein kleines Makro geschrieben, und es funktioniert sogar.
Eine Funktion ist unter anderem die Tabelle nach Spalte G aufsteigend zu sortieren.
Hier ein Ausschnitt :
Columns("A:T").Select
ActiveWorkbook.Worksheets("Auswertung 12900").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Auswertung 12900").Sort.SortFields.Add Key:=Range( _
"G2:G12906"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Auswertung 12900").Sort
.SetRange Range("A1:T12906")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Nun geht die Sortierung bis G12906 was ein Problem mit einer Tabelle die mehr als 12906 Zeilen hat macht.
Irgendwie muss die Range variabel sein, als Basis könnte man die Spalte A nehmen, damit das Makro auch bei unterschiedlichen Zeilenanzahl funktioniert.
Hab schon viel hier gelesen und getestet aber irgendwie bekommen ich es nicht hin.
LG Andreas

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zeilen variabel
23.02.2021 13:05:47
Daniel
Hi
1. du kannst da problemlos ganze Spalten als Zellbezug den Sortierbereich angeben (SetRange)
2. beim Key reicht eine einzige Zelle der Sortierspalte aus (Range("G9")), da braucht man gar nicht den ganzen Bereich
3. der Recorder vergisst bei "Add Key" und ".SetRange" das Tabellenblatt vor dem Zellbereich mit anzugeben und schreibt nur die Range hin. Wenn der Code auch mal im Hintergrund auf einem nicht aktiven Tabellenblatt laufen soll, müsste man hier vor der Range noch das Tabellenblatt ergänzen.
Gruß Daniel
Anzeige
AW: VBA Zeilen variabel
23.02.2021 13:19:11
Andreas
@Daniel
Also müsste ich aus Range("G2:G12906") dann Range("G2") machen ?
AW: VBA Zeilen variabel
23.02.2021 13:26:37
Daniel
für den Key würde das reichen.
bei Setrange dann die ganze Spalte.
Bei Crossposting bitte nicht vergessen, alle anderen Foren zu informieren, dass die Frage gelöst ist (und auch wie, vielleicht interessiert das auch in den anderen Foren den einen oder anderen Mitleser)
Ebenso solltest du die anderen Foren nochmal kontrollieren, ob da nicht inzwischen auch Lösungen eingegangen sind und dich dort für die Hilfe bedanken (auch wenns u.U. das selbe ist)
Gruß Daniel
AW: VBA Zeilen variabel
23.02.2021 13:30:04
Andreas
Wie muss denn SetRange aussehen für die ganze Spalte ?
Anzeige
AW: VBA Zeilen variabel
23.02.2021 20:25:22
Daniel
Ne Range für ne ganze Spalte festlegen muss ich dir das wirklich erklären?
Bei Range beschreibt man die Zellbezüge do wie in einer Formel, da kannst du dir das ablesen.
Gruß Daniel
AW: VBA Zeilen variabel
24.02.2021 06:57:02
Andreas
OK, habs hinbekommen.
Danke für die Unterstützung

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige