Registriert seit: 04.06.2019
Version(en): 2013
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!
Registriert seit: 16.04.2014
Version(en): xl2016/365
Hola,
sortier doch einfach die Tabelle aufsteigend nach Spalte G.
Gruß,
steve1da
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
04.06.2019, 13:41
(Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2019, 13:43 von WillWissen.)
Hi Janek,
das kannst du auch mit einer Hilfsspalte und einer Formel machen.
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D | E |
1 | lfdNr | Text Bla | Text Blub | Ja | HS |
2 | 1 | text1 | noch'n Text1 | ja | 2 |
3 | 2 | text2 | noch'n Text2 | | 0 |
4 | 7 | text3 | noch'n Text3 | ja | 4 |
5 | 20 | text4 | noch'n Text4 | ja | 5 |
6 | 3 | text5 | noch'n Text5 | ja | 6 |
7 | 29 | text6 | noch'n Text6 | | 0 |
8 | 6 | text7 | noch'n Text7 | | 0 |
9 | 28 | text8 | noch'n Text8 | ja | 9 |
10 | 8 | text9 | noch'n Text9 | | 0 |
11 | 11 | text10 | noch'n Text10 | | 0 |
12 | 30 | text11 | noch'n Text11 | | 0 |
13 | 15 | text12 | noch'n Text12 | ja | 13 |
14 | 16 | text13 | noch'n Text13 | | 0 |
15 | 18 | text14 | noch'n Text14 | | 0 |
16 | 19 | text15 | noch'n Text15 | | 0 |
17 | 13 | text16 | noch'n Text16 | | 0 |
18 | 21 | text17 | noch'n Text17 | | 0 |
19 | 5 | text18 | noch'n Text18 | ja | 19 |
20 | 24 | text19 | noch'n Text19 | ja | 20 |
21 | 25 | text20 | noch'n Text20 | ja | 21 |
22 | 23 | text21 | noch'n Text21 | | 0 |
Zelle | Formel |
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)
Registriert seit: 04.06.2019
Version(en): 2013
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.
Vielen Dank!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)
Registriert seit: 26.07.2017
Version(en): 365
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]
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
05.06.2019, 21:44
(Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2019, 21:53 von schauan.)
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

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
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 26.07.2017
Version(en): 365
... 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
Herzliche Grüße aus dem Rheinland
Jörg
[Windows 10, Microsoft 365]