Hallo Thomas,
natürlich hast Du recht, dass Integer-Variablen für die
möglichen Zeilen nicht immer reichen. Das ist bei mir
allerdings auch noch nicht vorgekommen, dass ich über 30.000
Zeilen sortieren wollte.
schon, aber es kann doch leicht vorkommen daß du den Code/mappe an andere weitergibst, ggfs. wie hier in einem Forum anderen zur Verfügung stellst.
Und da weiß man nie was da vorliegt.
Grad heuer wenn da mehr und mehr Xl ab 2007 genutzt wird.
Wobei ich mich manchmal so schon frage wenn da jmd. einen riesigen Datenbstand hat mit 600.000 Zeilen, 5.000 Spalten ob er da nicht je nach Fall besser beraten würde er würde Access oder ähnliches
benutzen.
Access ist doch m.E. dafür optimiert worden um da zu sagen
zeig mir mal fix alle Datenzeilen der 600.000 wo der Verkäufer
in München sitzt und zwischen 60.000 und 80.000 € Umsatz hat.
Aber okay, kenn mich mit Access nicht aus, vielleicht fehlt
Access wiederum manches was Excel besser kann.
Ich denke die richtige Mischung macht es.
Wenn man Excel gewöhnt ist und dann die schlappen Möglichkeiten
sieht die Word für Wordtabellen anbietet um das was zu berechnen
kriegt man erstmal einen Schock 
Aber wenn man geschickt beides nutzt, also eine Exceltabelle oder Diagramm in Word einbinden so ist man doch klar im Vorteil.
Habe ich nun geändert.
Wie du magst, ist ja kein Muß oder Dogma wenn ich hier Wissen weitergebe. Es soll einzig dir oder Mitlesenden helfen.
Dann kann natürlich jeder für sich entscheiden ob er das so macht oder anders.
Wichtig ist einzig daß er beide bzw. weitere Möglichkeiten kennt einen Code zu basteln.
Die SpecialCells-Abfrage hat bei mir immer richtig
funktioniert.
Würdest du darauf 1 Million € verwetten wenn du grad nur 1 Mio hättest?
Hier oder war das im VB-Brett, da hatte ich aktuell eine
Beitragsfolge mit Rolf Ernst wo (fast) unentdeckt blieb das da
Specialcells() einen falschen Wert zurückliefert.
Daß die Codezeile mit Specialcells() keine Fehlermeldung bedeutet
ja keinesfalls daß Specialcells() genau das tat was ich/man/du
erhoffte
Ich kenne aber auch keine Alternative. Da wäre dann die Frage
an Dich, was man zuverlässiger einsetzt.
K.A. bzw. sorry, weiß ich nicht.
In Deinem Beispiel beziehst Du Dich auf einen SonderFall,
nämlich die Frage nach der letzten benutzten Zelle in einer
bestimmten Spalte. Das habe ich bisher so nicht eingesetzt.
Ist aber ein recht häufiger Fall daß man im Code ermitteln muß
wie „lang“ die Eintrgasliste in einer Spalte ist.
Ggfs. die „unterste“ Zeile eines Spaltenbereichs ermitteln.
Dann habe ich vor dem Sortieren den Bereich markiert mit
select.
Das siehste nie in einem professionellen Code.
Select wird grundsätzlich nur dann eingesetzt wenn es zwingend nötig ist.
Nett, dass Du da nicht geschimpft hast.
Aha, ich glaub ich muß mal mit meinem Pressesprecher sprechen daß das
nicht immer als Geschimpfe rüberkommt sondern so wie es gemeint ist.
Als möglichst hilfreicher Hinweis.
Das habe ich schon
´mal versucht, wegzubekommen, bin aber gescheitert.
Wodran genau?
An der Änderung von
Range(Cells(R1 - 1, C1), Cells(LR, LC)).Select
Selection.Sort Key1 …
zu
Range(Cells(R1 - 1, C1), Cells(LR, LC)).Sort Key1:
sicher nicht.
Das letzte select muss dann leider auch drin bleiben, weil ich
damit die Startzelle wieder anspringe ( Naja, jedenfalls
dieselbe Zelle nach Zeilen- und SpaltenNummer. Optimal wäre,
genau die Zelle anzuspringen, wo der Cursor bei Start des
Makros war, auch wenn diese woanders hinsortiert wird.
Okay, das Anspringen einer Zelle ist einer der Fälle wo man Select braucht.
Um das was du beschreibst zu lösen könntest du zu Anfang des Codes
schreiben:
Set rngMerker=Activecell
und am Ende des Codes dann
rngMerker.select
Möglicherweise passiert das ja automatisch, wenn man alle
selects weglässt - glaube ich aber erst, wenn ich das sehe 
)
? Dann mach das doch erstemal, also das Weglassen.
Da dieses Makro bei mir in vielen Tabellen Anwendung findet,
bin ich über jeden Tip zur Verbesserung besonders dankbar.
Gut, ich nehme mir mal deinen Code vor und sezesiere ihn.
Dann schreibe ich was mir daran nicht passt und ggfs. was ich für besser halte.
Manches davon ist/wird dann auf deine Vba-Zukunft bezogen sein.
D.H. für Kleinigkeiten wie ein Modul mit 5 Prozeduren ist es
noch nicht richtig wichtig.
Bei 20 Modulen mit je 10 Prozeduren umso wichtiger.
Gruß
Reinhard