Tabelle automatisch sortieren
#1
Hallo,
ich habe eine Excel Tabelle für Badminton Spieltage erstellt. Leider kenne ich mich z.b. mit Markors nicht so aus und mit den Formeln nur ein wenig. Nun wollte ich fragen ob es möglich ist das eine Tabelle sich von alleine sortiert. (Es gibt regelmäßig neue Spieltage mit Ergebnisse, die Ergebnisse werden bei mir in der Tabelle schon zusammen gerechnet, aber ich habe noch keine Lösung gefunden wie Excel die Tabelle von alleine sortiert nachdem er neue Zahlenwerte hat. (Ohne extra auf sortieren zu klicken)


Kann mir da jemand helfen?
Mit freundlichen Grüßen
Patrick Lange
Top
#2
Du könntest die Tabelle mit einer Weiteren Formel an eine andere Stelle sortieren, oder dann eben via VBA den Sortiervorgang automatisieren!
Top
#3
Lade doch deine Tabelle mal hoch....
Top
#4
Hallöchen,

wenn Du schreibst, dass Du Dich mit Makros nicht so auskennst, gehe ich davon aus, dass es schon mehr ist als wenn Du Dich gar nicht auskennst, korrekt?
Daher hier mal ein erster Ansatz. Ich habe Daten in den Spalten A:C und sortiere die nach Spalte A, wenn 3 Einträge in der Zeile stehen. Bei jedem Eintrag zu sortieren, wäre sicher kontraproduktiv.
So, wie es programmiert ist, hat es allerdings den Nachteil, dass Du nichts neben die Liste schreiben dürftest. Es werden ja die Einträge in der ganzen Zeile gezählt.  Kann man aber einschränken. Dan Spaltenbereich A:C kannst Du auch einfach anpassen.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
1WasWerWann
20B2
34A6
48C3
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Das Makro zum Sortieren habe ich einfach nur mit dem Makrorekorder aufgezeichnet. Die Aufzeichnung hat unter anderem den Nachteil, dass sie nur den bis dahin gefüllten Bereich berücksichtigt (A2:A4, A2:C4). Nun müsste man schauen, wie man das flexibel bekommt oder Du probierst aus, ob man da auch vorsorglich ein paar Zeilen mehr nehmen kann Smile

Zitat:Private Sub Worksheet_Change(ByVal Target As Range)
'Wenn der Eintrag nicht im Sortierbereich liegt, dann Makro beenden
If Intersect(Target, Columns("A:C")) Is Nothing Then Exit Sub
'Wenn in allen 3 Zellen der Zeile etwas eingetragen wurde, dann
If WorksheetFunction.CountA(Rows(Target.Row)) = 3 Then
 'Sortiermakro aufrufen
 Makro1
'Ende Wenn in allen 3 Zellen der Zeile etwas eingetragen wurde, dann
End If
End Sub

Sub Makro1()
'
' Makro1 Makro
'

'
   Columns("A:C").Select
   ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add2 Key:=Range("A2:A4" _
       ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
   With ActiveWorkbook.Worksheets("Tabelle1").Sort
       .SetRange Range("A1:C4")
       .Header = xlYes
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
   Range("A1").Select
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


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