Clever-Excel-Forum

Normale Version: Formatierte Tabelle - sortieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey @all,

kurze Frage, kann eine formatierte Tabelle neu hinzugefügte Einträge automatich nach Größe einsortieren? Huh
Hi

nur per VBA angestupst.
Moin!
Stelle ich mir gerade vor:
Ich gebe in Spalte B eine Menge ein (Zeile 725) und wähle per Tab Spalte C an.
Mein B725 wurde aber in der Zwischenzeit sortiert und befindet sich jetzt in Zeile 42, während die aktive Zelle C725 ist …

Oder welchen Trigger hast Du Dir vorgestellt, Stefan?

Gruß Ralf
Moin Ralf,
siehe Anhang. wenn Du jetzt eine 4 einträgst bleibt die unten in der Zeile stehen. Erst nach erneutem Sortieren nach Größe (aufsteigen), reiht sich die 4 entsprechend ein.  19

Hi Elex,
hatte gehofft, dass das ohne VBA funktioniert. 20
Ach was!  21
Es gibt ja auch (noch) keinen Automatismus …
Nochmal die Frage:
Da eine Tabelle idR durchaus mehr als eine Spalte hat: Was soll der Trigger sein?
Also, AG ruft an und sagt das im KuDamm eine weitere Einheit (Max) angefahren werden muss. (Im Anhang noch nicht eingepflegt!!) In meiner Tabelle hat die Straße KuDamm die Nr. 4. Ich trage also eine weitere 4 in die Tabelle und fülle die Spalten. Str, PLZ, Einheit und Termin. Diese neue Zeile soll sich dann unter der letzten schon vorhandenen 4 einreihen. Also unter "Uli".
Moin,

keiner ne Idee? Huh
Hallo, 19

du hast die Frage von Ralf noch nicht beantwortet. Wann soll das ausgeführt werden? Über einen Button, Tastenkombination, oder wenn du den Wert einer bestimmten Spalte eingibst?

"Automatisch" ist so ein dehnbarer Begriff. Dodgy

Sortieren kannst du so: 21
Code:
Option Explicit
Public Sub Main()
    With Tabelle1.ListObjects("Tabelle1").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("Tabelle1[StefanB]"), Order:=xlAscending
        .Apply
    End With
End Sub


Wenn das passieren soll, wenn du das Datum eingibst (die anderen Werte hast du schon eingegeben - also Datum als letztes): 21
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    With Me.ListObjects("Tabelle1")
        If Not Intersect(Target, .ListColumns(6).DataBodyRange) Is Nothing Then
            With .Sort
                .SortFields.Clear
                .SortFields.Add Key:=Range("Tabelle1[StefanB]"), Order:=xlAscending
                .Apply
            End With
        End If
    End With
End Sub

Jetzt mach was draus.
Moin Case,

vielen dank erstmal dafür.


Zitat:du hast die Frage von Ralf noch nicht beantwortet. Wann soll das ausgeführt werden? Über einen Button, Tastenkombination, oder wenn du den Wert einer bestimmten Spalte eingibst?
wenn ich den Wert in Spalte A eingetragen und die Zelle verlassen habe. Die weiteren Zellen in dieser Zeile, sollen dann im Nachgang gefüllt werden.


Ich hatte gehofft, dass das ohne VBA, Buttons oder Tastenkombination geht.