Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Antwort erstellen

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :razz: :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :badgrin: :doubt:
BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet
Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Re: Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Beitrag von slowboarder » 16. Mai 2021, 08:24

Hi

Code: Alles auswählen
'--- zeilen mit failed entfernen
with activesheet.Usedrange
    With .Columns(.columns.Count + 1)
        .formular1c1 = "=If(rc7=""Failed"",0,row())"
        .cells(1, 1).Value = 0
        .entirerrow.removeduplicates .column, xlno
        .clearcontents
    End with
End with

'--- doppelte Nummern löschen
Range("A:P").RemoveDuplicates Columns:=8, Header:=xlYes


Gruß Daniel

Re: Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Beitrag von Runkwitz » 16. Mai 2021, 08:09

"Makro aufzeichnen" habe ich noch nie genutzt... wird jetzt öfter passieren :oops: Danke

Hier mein Ergebnis:

Code: Alles auswählen
Sub DeleteFailedAndDouble()
Dim i As Integer
Sheets("Buchungen").Select
 
    While Cells(1 + i, 1) <> ""
        If Cells(1 + i, 7) = "Failed" Then
            Rows(i + 1).Select
            Selection.Delete Shift:=xlUp
            i = 1
        Else
            i = i + 1
        End If
    Wend
   
    Range("A:P").RemoveDuplicates Columns:=8, Header:=xlYes


End Sub


Gibt es hierfür schlankere Varianten bzw. Befehle?
VG

Re: Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Beitrag von d'r Bastler » 15. Mai 2021, 22:19

Hallo runkwitz,

zeichne Dein Vorgehen (oder das von Sabina) mit dem Makrorecorder auf und weise dem Makro einen Hotkey oder einen Button zu. Und schon hast Du Dein VBA. Das kann man dann erfahrungsgemäß zwar noch deutlich optmieren: Abspecken, Fehler abfangen, unnötige Parameter entsorgen, usw. Aber als Einstieg vielleicht nicht ganz schlecht.

Viel Erfolg

Re: Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Beitrag von Runkwitz » 15. Mai 2021, 21:18

Ja, das ist mir bewusst, allerdings soll es automatisch per Prozedur laufen. Da das häufiger nötig sein wird. Da die Funktion den Faktor „DAU“ ausschließen soll, möchte ich dem User keine Zusatzaufwand verpassen...

Re: Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Beitrag von Flotter Feger » 15. Mai 2021, 09:13

Hallo,

beides kann Excel einfach so ... ohne VBA.

1. Daten --> Duplikate löschen

2. Autofilter auf "Failed" ---> Strg+A --> Entf

Sabina

Löschen von Zeilen wenn Dublette oder Bestimmter Wert

Beitrag von Runkwitz » 15. Mai 2021, 08:16

Hallo,
ich möchte eine VBA-Prozedur schreiben, die folgendes machen soll.

Sie soll eine Tabelle mit Buchungen von oben nach unten durchlaufen.

Eine Spalte der Tabelle enthält die Transaktionsnummern (H:H) und eine Spalte enthält eine Information, ob die Buchung erfolgreich abgeschlossen wurde ("failed" oder "completed") (G:G)

Wenn jetzt in der Tabelle eine Transaktionsnummer doppelt oder mehrfach auftaucht, soll nur die erste Buchung (bzw. entsprechende Zeile) erhalten bleiben. Bei allen weiteren soll jeweils die komplette Zeile gelöscht werden.

Ebenso sollen die Zeilen mit den Buchungen, die mit "failed" gekennzeichnet sind, gelöscht werden.

Ich hoffe, dass es hierfür eine elegante und schlanke lösung gibt.

VG

Nach oben