Anzeige
Archiv - Navigation
1812to1816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen Löschen

Zeilen Löschen
12.02.2021 12:40:15
Andre
Hallo zusammen
Ich habe folgendes Problem ich möchte, in Tabellenblatt1, nur ganze Zeilen löschen die Zahlen und * (z.B.2345*) enthalten und in Spalte K stehen es gibt aber auch in der Spalte nur Zahlen und auch Zahlen mit Buchstaben (z.B. 2356-ab oder 2356hfg).Gibt es da in VBA eine Lösung?
Gruß André

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen Löschen
12.02.2021 13:00:08
UweD
Hallo
reicht es, wenn nur nach dem Sternchen gesucht wird?
oder gibt es auch Sternchen und Buchstaben?
Ein Möglichkeit wäre im Fall 1
- Filter für Spalte K
- Textfilter, Enthält ~* (also Tilde vor das Sternchen setzen)
Dann alle Zeilen ab 2 löschen
Das ganze mit Recorder aufzeichnen und ggf. anpassen
LG UweD
AW: Zeilen Löschen
12.02.2021 13:00:37
Piet
Hallo
auf deine Frage ein klares JA. Denn Rest musst du als Programmierer selbst festlegen.
Hier ein Standard Code zum Rückwaerts löschen! Vorwaerts löschen ist da NICHT möglich!
Du kannst in der If Routine den Suchwert löschen, oder ungleich Suchwert. Du kannst auch mehrere Werte angeben und sie mit And oder OR verknüpfen. Die Kombinations Möglichkeiten sind da sehr vielfaeltig.
mfg Piet

Sub Zeilen_löschen()
Dim j As Long, lz1 As Long
la1 = Cells(Rows.Count, "K").End(xlUp).Row
Wert = "xxxxx"   'hier dein Suchwert eingeben
For j = lz1 To 2 Step -1
If InStr(Cells(j, "k"), Wert) = "" Then   'oder ungleich Suchwert löschen!!
'If InStr(Cells(j, "k"), Wert)  "" Then
Rows(j).Delete shift: Print xlUp
End If
Next j
End Sub


Anzeige
AW: Zeilen Löschen
12.02.2021 13:13:04
Piet
Nachtrag
Korrektur von Code Fehler in meinem Code - VBA muss korrrekt grösser gleich lauten
iF Cells(j, "k").Value => Wert Then
AW: Zeilen Löschen
12.02.2021 13:02:15
MCO
Hallo Andre!
Probier das mal:
Sub zeilen_löschen()
Dim rng As Range
Dim bigrange As Range
Dim suchbegriff As String
suchbegriff = Application.InputBox("suchbegriff:", , "651")
Set rng = Range("K:K").SpecialCells(xlCellTypeConstants)
For Each cl In rng
If Left(cl, Len(suchbegriff)) = suchbegriff Then
If bigrange Is Nothing Then
Set bigrange = cl
Else
Set bigrange = Application.Union(bigrange, cl)
End If
End If
Next
bigrange.Rows.EntireRow.Delete ' cl.Interior.Color = vbRed
End Sub
Gurß, MCO
Anzeige
AW: Zeilen Löschen
12.02.2021 13:03:05
Daniel
Hi
das geht auch ohne VBA:
1. in die erste freie Spalte am Tabellenende folgende Formel von der ersten bis zur letzten Zeile:
=Wenn(Und(Rechts(K1;1)="*";IstZahl(-Links(K1;Länge(K1)-1)));0;Zeile())

2. in die Überschriftenzeile (Zeile 1) dieser Hilfsspalte kommt die 0
3. auf die ganze Tabelle dann die Funktion DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN anwenden, mit der Hilfsspalte als Kriterium und der Option "keine Überschrift"
4. Hilfsspalte löschen
als Makro dann genau diese Aktionen ausführen. (das meiste kannst du ja mit dem Recorder aufzeichnen)
wenn es keine Texte gibt, die mit * enden, sondern nur zu löschende Zahlenwerte mit * am ende, ließe sich die Fragestellung zu "lösche alles mit * am Ende" vereinfachen.
das ginge dann über den Autofilter.
hierzu im FilterDropdown "Textfilter - Endet mit" auswäheln und als Kriterium ~* eingeben, dann die angezeigten Zeilen löschen.
die Tilde ~ vor dem * zeigt Excel an, dass hier der der * kein Joker sein soll, sondern ein normales Zeichen.
Gruß Daniel
Anzeige
AW: Zeilen Löschen
12.02.2021 15:24:10
Andre
Danke an alle habe die Lösung von Daniel genommen bei den anderen hat er mir immer Fehler angezeigt das eine Variable nicht defeniert ist und das mehrmals.
Gruß André

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige