Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

Nach Sortierung in bestimmte Zeile und Zelle springen
#1
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
Excel Version 2016
Top
#2
Hallo,

Hinweis zur Selbsthilfe:
Target ist die aktuelle Zelle, verwende dann Offset, z.B. Offset(1, 0).
96 
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Top
#3
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
Excel Version 2016
Top
#4
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.
Top
#5
Hallo!

Es kommt noch immer ein Syntaxfehler, hier mein Code:

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

Offset(1, 3)


LG
Excel Version 2016
Top
#6
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.
96 
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
[-] Folgende(r) 1 Nutzer sagt Danke an Glausius für diesen Beitrag:
  • dertommy
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste