Sortierungsbereich in VBA
22.09.2018 20:27:23
Stuppe
Wenn ich eine Sortierung (von der Zelle L8 aus) über den Bereich L8 bis M19 mache,so
so steht im VBA korrekterweise:
Range("L8").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Range("A1:B12").Select
Mein Problem ist folgendes.
Wenn ich beim nächsten Mal weniger Zeile habe (in Spalte "K" und "L" - Spalte "M" hat immer 12 Zeilen) , so bleibt die Adresse im VBA unverändert bei "A1:B12" und der SORT ist nicht korrekt.
Bin schon soweit, dass ich mit einem Makro das Zeilenende automatisch feststellen kann
und das Ergebnis (=15) dann in eine bestimmte Zelle kopiert wird (in"K1" in diesem Fall).
lngZeile = ActiveSheet.Cells(Rows.Count, 12).End(xlUp).Row
Worksheets("Tabelle1").Rows("12:12").Select
Worksheets("Tabelle1").Range("L:L").Select
ActiveSheet.Range("i1").Select
ActiveCell.FormulaR1C1 = lngZeile
ich weiß zwar wie ich in VBA die Adresse um eine bestimmte Zahl verändern kann mit dem Befehl:
ActiveCell.Range("A1 : B" & 8).Select
Der Sortbereich würde dann den Bereich "L8" bis "M15" ergeben. Aber wenn ich im Makro die 8 eingeben muss, kann ich gleich manuell sortieren. Daher meine
Konkrete Frage:
Wie muss in VBA die Formel lauten, dass mir neben B" jene Zahl eingetragen wird, welche in die Zelle "K1" kopiert wurde abzüglich 7 (7 abziehen weil der Sortbereich in Zeile 8 beginnt)?