Erstellen eines Makros zum Sortieren von Elementen nach Eingabedatum (Ergebnisse werden durch Formel ausgelöst)

Erstellen eines Makros zum Sortieren von Elementen nach Eingabedatum (Ergebnisse werden durch Formel ausgelöst)

Ich habe Blatt 1, in das ich neue Daten in ein Arbeitsblatt eingebe, und in mein Referenzblatt ziehe ich dieselben Werte aus Blatt 1, damit ich sie nach der Eingabezeit sortieren kann. Mein Ziel ist es, auf Blatt 1 eine Anzeige zu haben, die die letzten 10 in Blatt 1 eingegebenen Elemente zeigt. Ich habe die folgende Formel verwendet, um mein Referenzblatt nach Datum zu sortieren, aber da ich eine Formel verwende, um die Werte einzufügen, wird sie nicht ausgelöst. Ist es möglich, dies mit einem neuen Makro zu kombinieren, sodass ich Daten an einer Stelle eingeben und sie an einer anderen Stelle sortieren lassen kann?

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A As Range
    Dim AB As Range
    Set A = Range("A:A")
    Set AB = Range("A:B")

    If Intersect(Target, A) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
        Target.Offset(0, 1) = Now
        AB.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlNo, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    Application.EnableEvents = True
End Sub

Antwort1

Es klingt, als ob Ihr Problem darin besteht, dass Ihr Makrocode bei der Änderung in einem Blatt nicht ausgelöst wird, da sich das Blatt nur aufgrund einer Formelreferenz ändert. Wenn dies der Fall ist, können Sie den Code (oder einen Aufruf der von Ihnen benötigten Subs) nicht aus demWorkbook_SheetChange()Sub stattdessen? (das 'Arbeitsbuch'SheetChange()Ereignis wird ausgelöst, wenn Sie ändernbeliebigSie können das geänderte Blatt einsehen mitSh.Nameaus diesem Sub. Und holen Sie sich die Zelladresse der Änderung mitZieladresse.

verwandte Informationen