Clever-Excel-Forum

Normale Version: Nach Sortierung in bestimmte Zeile und Zelle springen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich habe folgenden Wunsch. Wenn ich in der Spalte H eine Eingabe mache, soll er nach bestimmten Kriterien sortieren und dann in die nächste Zeile in Spalte D springen. Heißt, befinde ich mich z.B. gerade in der Zelle H18, soll er dann automatisch in die Zelle D19 springen.
Anbei mein bestehender Code:



Code:
If Target.Column <> 8 Then Exit Sub
Range("A5:I50").Select
   ActiveWorkbook.Worksheets("Panels").Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Panels").Sort.SortFields.Add Key:=Range("f5:f50" _
       ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
   With ActiveWorkbook.Worksheets("Panels").Sort
       .SetRange Range("A5:I100")
       .Header = xlGuess
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
    End With
Ich hoffe, dass mir jemand helfen kann.
LG
Hallo,

Hinweis zur Selbsthilfe:
Target ist die aktuelle Zelle, verwende dann Offset, z.B. Offset(1, 0).
Hallo!

Offset(1, 0) ist zu wenig. Kannst du mir bitte genauere Informationen geben?
Sub oder Function nicht definiert kommt als Fehlermeldung.

Danke und

LG
1) Markiere "Offset" im Editor und drücke F1.

2) Setze ScrollArea im Eigenschftenfenster des VBA-Editors auf D:H. Dann brauchst Du kein Ereignis.
Hallo!

Es kommt noch immer ein Syntaxfehler, hier mein Code:

Code:
Sheets("Panels").ScrollArea = "D:H"

Offset(1, 3)


LG
Hallo,

unter der Hilfe für Offset findest du

Syntax
Range.Offset( RowOffset , ColumnOffset )

also mindestens dann

Target.Offset(1, 3).Select

heißt dann

von aktueller Zelle 1 Zeile runter und 3 Spalten rechts.