Ich habe das folgende Makro aufgezeichnet, um Daten im Bereich „B3:U47“ basierend auf den Werten der Spalte „C3:C47“ zu sortieren.
Sub Sorting_Finance()
Range("B3:U47").Select
ActiveWorkbook.Worksheets("Finance").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Finance").Sort.SortFields.Add2 Key:= _
Range("C3:C47"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("Finance").Sort
.SetRange Range("B3:U47")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Jedes Mal, wenn ich die Daten sortieren möchte, drücke ich Strg+n. Gibt es eine Möglichkeit, dies automatisch zu tun, wenn ich einen neuen Wert in Spalte C eingebe? Ich versuche, es über VBA zu ändern, aber bisher ohne Erfolg.
Antwort1
Muster:
Private Sub Worksheet_Change(ByVal Target As Range)
if not (intersect(target, Range("C3:C47")) is nothing) then
call Sorting_Finance
end if
end sub
Und vergessen Sie nicht, Range("B3:U47").Select
die Zeile zu entfernen/kommentieren.