Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

automatisch sortieren





Frage

Hallo zusammen Habe mal wieder ein Problem. Aber für euch ist das eine kleinikeit. Habe eine zeile am ende der Zeile steht eine Checkbox. Nun bei der Checkbox verschiebt sich die Zeile in eine andere Tabelle. Das funktioniert dank eurer Hilfe tadellos. Nun hab ich nur noch ein weiteres Problem, wenn die zeile aus der Tabelle verschoben wird hab ich löcher in der Tabelle 1. Gibt es nun eine möglichkeit bei ausführung der Checkbox das die Tabelle 1 automatisch neu sortiert wird. Ich hoffe ich habe mich verständlich ausgedrückt. Freue mich über eure Antworten. Gruss Marc

Antwort 1 von coros

Moin Marc,

na, immer noch mit den CheckBoxen am gange. Hier die Lösung. Ich habe aus Deinem alten Beitrag meinen letzten Code als Grundlage benutzt.

Private Sub CheckBox1_Click()
Application.ScreenUpdating = False
'Letzte beschriebenen Zeile wird ermittelt
LetzteZeile = Range("A65536").End(xlUp).Row
'Bereich A1 bis L letzte beschriebene Zeile wird sortiert
Range("A1:L" & LetzteZeile).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
If CheckBox1.Value = True Then
Range("A3:N3").Copy
erste_leere_Zeile = Worksheets("Tabelle2").Range("A65536").End(xlUp).Offset(1, 0).Row
Worksheets("Tabelle2").Cells(erste_leere_Zeile, 1).Insert Shift:=xlDown
Range("A3:N3").ClearContents
End If
End Sub


In dem neuen Code wird die letzte beschriebene Zelle in Spalte A ermittelt und die Zeilennummer wird in eine Variable geschrieben. Der Bereich von A1 bis L und der Zahl aus der Variable "LetzteZeile" wird markiert und aufsteigend sortiert. Den Bereich, sprich A1 und L, musst Du gegebenenfalls noch anpassen. Den Rest des Codes kennst Du ja und ich muss ihn nicht mehr erklären.

Ich hoffe, das wars, was Du wolltest. Ist dem nicht so, melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Marc77

Hallo Coros

Vielen Dank für deine Hilfe. Die Tabelle hab ich erfolgreich im einsatz. Mich hat nur der Ergeitz gepackt noch ein paar sachen zu verbessern.

Ich habe dein Code auprobiert, er funktioniert nicht ganz. Wen ich den Code anwende verschiebt sich die Zeile. Aber die leere Zeile die sich dan ergibt wird nich geschlossen.

Vielen Dank für deine Hilfe
Gruss Marc



Antwort 3 von coros

Hi Marc,

nachfolgender geänderter Code sollte so funktionieren wie Di es möchtest.

Private Sub CheckBox1_Click()
Application.ScreenUpdating = False
'Letzte beschriebenen Zeile wird ermittelt
LetzteZeile = Range("A65536").End(xlUp).Row
'Bereich A1 bis L letzte beschriebene Zeile wird sortiert
If CheckBox1.Value = True Then
Range("A3:N3").Copy
erste_leere_Zeile = Worksheets("Tabelle2").Range("A65536").End(xlUp).Offset(1, 0).Row
Worksheets("Tabelle2").Cells(erste_leere_Zeile, 1).Insert Shift:=xlDown
Range("A3:N3").ClearContents
Range("A1:L" & LetzteZeile).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
End Sub



MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von Marc77

Vielen Dank

Coros hat wie immer genial geklappt

Viele Grüsse

Marc

Antwort 5 von coros

Moin Marc,

freut mich, Dir wieder erfolgreich geholfen zu haben. Danke auch für die Rückmeldung.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.