Ganze Zeilen verschieben
#1
Hi Leute,

ich würde gerne in einer Excel Tabelle alle Zeilen(!) wo in Zelle Gx ein "Ja" steht automatisiert zum Anfang verschieben. Dies müsste über VBA möglich sein, aber wie? Alle Ja's sollen also am Anfang der Tabelle stehen und die Nein's sollen erst danach aufgeführt sein.

Vielen dank bereits!  Angel
Antworten Top
#2
Hola,

sortier doch einfach die Tabelle aufsteigend nach Spalte G.

Gruß,
steve1da
Antworten Top
#3
Hi Janek,

das kannst du auch mit einer Hilfsspalte und einer Formel machen.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDE
1lfdNrText BlaText BlubJaHS
21text1noch'n Text1ja2
32text2noch'n Text20
47text3noch'n Text3ja4
520text4noch'n Text4ja5
63text5noch'n Text5ja6
729text6noch'n Text60
86text7noch'n Text70
928text8noch'n Text8ja9
108text9noch'n Text90
1111text10noch'n Text100
1230text11noch'n Text110
1315text12noch'n Text12ja13
1416text13noch'n Text130
1518text14noch'n Text140
1619text15noch'n Text150
1713text16noch'n Text160
1821text17noch'n Text170
195text18noch'n Text18ja19
2024text19noch'n Text19ja20
2125text20noch'n Text20ja21
2223text21noch'n Text210

ZelleFormel
E2=WENN(D2="ja";ZEILE();0)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Jetzt sortierst du deine Tabelle nach der Hilfsspalte absteigend.

Hi sehe gerade, dass Steve schneller und treffsicherer war.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
Hi Steve, danke für die rasche Antwort! 
Es sollte nach Möglichkeit automatisiert funktionieren, mit der Sortierung ist dies leider nicht möglich. Benötige daher leider weiterhin Hilfe.  Undecided

Vielen Dank!
Antworten Top
#5
Hallöchen,

im Prinzip machst Du mit VBA nix anderes als sortieren. Wenn es reicht, die Spalte mit dem Ja zu sortieren, z.B. weil dort nur Ja oder Ja und Nein steht, geht es ohne Hilfsspalte. Zeichne das Sortieren einfach mal auf, meist reicht das schon. Siehe dazu hier eine kleine Anleitung:

https://www.clever-excel-forum.de/Thread...rorekorder
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Hi,

kopiere das Folgende in dem VBA-Projekt in die entsprechende Tabelle:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

   Dim TRow As Long
   
   If Target.Column <> 7 Then Exit Sub
   
   If Target.Value = "Ja" Then
       TRow = Target.Row
       Target.EntireRow.Cut Cells(2, 1)
       Rows(TRow).Delete
   End If

End Sub

Wird ein "Ja" in eine Zelle innerhalb von Spalte G eingetragen und die Zelle verlassen, dann wird diese Zeile in Zeile 2 verschoben. Ich bin davon ausgegangen, dass die Tabelle eine Überschrift enthält, sonst musst du "Cells(1, 1)" nehmen.

Vorher solltest du deine Tabelle nach Spalte G sortieren und dann mit dem Code arbeiten.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top
#7
Hallöchen,

Mal noch eine Anmerkung zu unseren Lösungsansätzen mit dem Sortieren.

Falls die ursprüngliche unsortierte Reihenfolge der Zeilen eingehalten werden soll, ist einfaches Sortieren keine Variante Sad Dann würde ich entweder Günters Vorschlag mit der Hilfsspalte nutzen und sortieren, oder ein Makro ähnlich dem zuletzt geposteten, welches das übernimmt.

Allerdings steht dazu nix in der Aufgabenstellung Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
... sehe ich wie André: es wurde z.B. nicht geklärt, was passiert, wenn die "Ja"-Zeilen alle nach oben "wandern" und irgendwann wird ein "Ja" wieder in ein "Nein" geändert ... dann stimmt die ganze Reihenfolge nicht. Automatisch per VBA sortieren ginge, muss ja nach einer sortierten Ansicht nicht unbedingt gespeichert werden, wenn die Reihenfolge beibehalten werden soll. Filter sind auch schön ...

Aber für solche Ansätze brauchen wir mehr Input Wink
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antworten Top


Gehe zu:


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