Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zahlen suchen und zugehörige Zeile löschen

Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:07:23
Benjamin
Moin moin,
ich habe folgende Situation:
in Spalte A stehen Artikelnummern, in Spalte B der zugehörige Artikeltext, in Spalte C die Artikelmenge.
Einige der Artikelnummern enden mit einer 0 (die Hauptartikel).
Ist es möglich, genau diese Zeilen (in denen die Hauptartikel stehen) komplett mit Texten und allem, was dazu gehört, automatisch zu löschen? Die Liste ist einfach zu lang, um sie manuell nach Hauptartikeln zu durchsuchen.
Vielen Dank im Voraus für eure Hilfe.
Gruß
Ben

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:19:23
Worti
Hallo Ben,
so gehts:


Sub DelArtikel()
    Dim i As Long
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
        If Right(Cells(i, 1).Value, 1) = "0" Then
           Rows(i).Delete
        End If
    Next i
End Sub


Gruß Worti

Anzeige
AW: Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:20:50
Daniel
Hi,
so müsste es gehen:

Private Sub CommandButton1_Click()
Dim i As Integer
zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To zeilenanzahl
If Right(Cells(i, 1), 1) = 0 Then
Rows(i).Delete Shift:=xlUp
End If
Next i
End Sub


Gruß
Daniel

Anzeige
AW: Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:27:27
Benjamin
Hallo Worti, hallo Daniel,
vielen Dank für die schnelle Hilfe. Ich werde es gleich mal ausprobieren.
Gruß
Ben

Kleiner Tipp ;-)
25.09.2007 13:36:00
Worti
Hallo Daniel,
beim Löschen von Zeilen in einer Schleife immer rückwärts gehen, sonst klappts bei 2 aufeinanderfolgenden Treffen nicht!
Gruß Worti

Anzeige
AW: noch ein Tip vom anderen Daniel
25.09.2007 21:44:00
Daniel
Hi
solche Aufgaben löst man auch mit VBA ohne Schleife, weil bei vielen Datensätzen bin ich ja von Hand schneller als so ein Schleifenmakro.
Lösungsschema:
- Hilfsspalte einfügen
- Fomel reinschreiben, die bei zu löschenden Zeilen das Ergebnis WAHR hat, ansonsten aber die Zielen-Nummer reinschreibt.
- Daten jetzt nach Hilfsspalte sortieren (verbessert die Performance bei grossen Datenmengen)
- über BEARBEITEN - GEHE ZU - INHALTE - WAHRHEITSWERTE die zu löschenden Zeilen selektiern und löschen.
- Hilfsspalte löschen.
Fertig.
funktioniert auch bei 60.0000 Zeilen problemlos und schnell
als Makro siehts dann so aus:

Sub Zeilen_löschen()
Columns(1).Insert
With Range("B1").CurrentRegion.Columns(1).Offset(0, -1)
.FormulaR1C1Local = "=WENN(RECHTS(ZS(1);1)=""0"";WAHR;ZEILE())"
.Formula = .Value
.CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending, header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
.EntireColumn.Delete
End With
End Sub


Gruß, Daniel

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige