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

variabel sortieren

Forumthread: variabel sortieren

variabel sortieren
10.01.2025 10:12:22
Frank H.
Einen wunderschönen Guten Morgen,

ich möchte in einer Tabelle per VBA sortieren. Der Sortierbereich muss variabel sein.
Immer abhängig vom wert in der ComboBox - cbJahr.

Mein Code:

a = cbJahr.ListIndex * 3
b = 170
c = a + b

Range(Cells(4, c), Cells(22, c + 2)).Select

Selection.Sort Key1:=Range(Cells(4, c)), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
Calculate

Leider bekomme ich bei klick auf meinen Button folgende Fehlermeldung:

Die Methode 'Range' für das Objekt_'Worksheet ist fehlgeschlagen.

Sicher weiß von euch jemand wo mein Fehler ist und kann mir bitte helfen.

Danke im Voraus!

L.G. Frank H
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: variabel sortieren
10.01.2025 10:21:45
BoskoBiati2
Hi,

eigentlich sollte das reichen:

Selection.Sort Key1:=Cells(4, c),


vorausgesetzt, c hat einen Wert!

Gruß

Edgar
AW: variabel sortieren
10.01.2025 10:45:20
daniel
Hi
zur Erläuterung:
wenn du Range mit nur einem Parameter "fütterst" dann muss dies ein Text sein, der der Adresse des gewünschten Zellbereichs entspricht.
dh mit einem Range(Cells(4, c)) wird nicht Cells(4, c) zur Range, sondern die Funktion nimmt den Wert aus dieser Zelle und versucht, diesen als Adresse eines Zellbereichs zu verarbeiten.
daher so wie Bosko gezeigt, Einzelzellen spricht man direkt über Cells an.

noch ein Tipp um das Select zu vermeiden, stelle den Zellbereich direkt vor das .Sort, hier auch mit einer anderen Schreibweise:

Cells(4, c).Resize(19, 3).Sort Key1:=Range(Cells(4, c)), Order1:=xlAscending, _

Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom


Gruß Daniel

Anzeige
AW: variabel sortieren
10.01.2025 13:09:50
Frank H.
Hallo Daniel,

Danke sehr für deine Tipps!

Bitte kannst du mir noch dieses erklären:

Cells(4, c).Resize(19, 3)

Besonders der fettgedruckte Teil erklärt sich mir Laien nicht und ich möchte mich gern weiterentwickeln.
Was ist Resize, was bedeuten die Zahlen?

Nicht sauer sein, wenn ich nicht immer gleich antworte.
Gehe jetzt ins Bett, muss heute noch zur Nachtschicht.

L.G. Frank H.
Anzeige
AW: variabel sortieren
10.01.2025 13:32:57
daniel
Hi

die Funktion Resize(19, 3) erzeugt einen Zellbereich, der 19 Zeilen hoch und 3 Spalten breit ist.
die linke obere Zelle dieses Bereichs die linke obere Zelle des voran gestellten Bereichs.

die Zahlen ergeben sich aus deinen angaben: Zeile 4 - 22 sind 19 Zeilen, Spalte c bis Spalte c+2 sind drei Spalten.

Gruß Daniel
Anzeige
AW: variabel sortieren
10.01.2025 15:15:51
Frank H.
Hallo Daniel,

Super Erklärung. Danke!

Schönes WE.

L.G. Frank H.
AW: variabel sortieren
10.01.2025 10:24:31
Frank H.
Hallo,

Supi, funktioniert!

Danke und einen schönen Tag!

L.G. Frank H.

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige