Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1480to1484
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

bedingtes Löschen einer Zeile

bedingtes Löschen einer Zeile
15.03.2016 13:21:36
Maris
Hallo VBA Profis,
kann mir jemand heelfen. Ich habe ein 80 seitiges PDF in Excel umgewandelt und habe jetzt sehr viele Textwerte in Spalte A die ich nicht brauche. Gibt es die Möglichkeit die Zeile zu löschen wenn in der Zeil KEIN Datumswert steht oder das Wort Konto enthalten ist?
Gruß,
Maris

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingtes Löschen einer Zeile
15.03.2016 13:37:58
Daniel
Hi
das geht im Prinzip am schnellsten so:
1. denke dir eine Formel aus, welche für alle Zeilen die gelöscht werden müssen die 0 als Ergebnis ausgibt und für alle die stehen bleiben sollen die aktuelle Zeilennummer.
Trage diese Formel ab Zeile 2 (Zeile 1 ist immer Überschrift) in eine Hilfsspalte ein und ziehe sie bis zum Tabellenende runter
2. Schreibe in die Zeile 1 (Überschrift) der Hilfsspalte ebenfalls die 0
3. Wende auf die ganze Tabelle die Menüfunktion DATEN - DATENTOOLS - DUPLIAKTE ENTFERNEN an mit der Hilfsspalte als Kriteriumsspalte und der Option "keine Überschrift"
damit werden dann alle Zeilen, die in der Hilfsspalte die 0 enthalten gelöscht (ausser der ersten)
Gruß Daniel

Anzeige
AW: bedingtes Löschen einer Zeile
15.03.2016 13:43:55
Steve
Hallo Maris,
für das Datum habe ich noch keine Idee, aber damit kannst du alle Zeilen löschen in denen das Wort Konto steht.
lg Steve
Sub Test()
Dim rBereich As Range
Dim rZelle As Range
Dim rRows As Range
With Sheets("Tabelle1")
Set rBereich = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
End With
For Each rZelle In rBereich
If InStr(rZelle, "Konto") > 0 Then
If rRows Is Nothing Then
Set rRows = rZelle.EntireRow
Else
Set rRows = Union(rRows, rZelle.EntireRow)
End If
End If
Next rZelle
rRows.Delete
End Sub

AW: bedingtes Löschen einer Zeile
15.03.2016 13:51:27
Steve
Und nochmal,
mit Hilfe einer Funktion von folgender Seite ist auch das Datum realisierbar:
http://www.ms-office-forum.net/forum/showthread.php?t=81770
lg Steve
Sub Test()
Dim rBereich As Range
Dim rZelle As Range
Dim rRows As Range
With Sheets("Tabelle1")
Set rBereich = .Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
End With
For Each rZelle In rBereich
If InStr(rZelle, "Konto") > 0 Or GetDateString(rZelle) = "" Then
If rRows Is Nothing Then
Set rRows = rZelle.EntireRow
Else
Set rRows = Union(rRows, rZelle.EntireRow)
End If
End If
Next rZelle
rRows.Delete
End Sub
Function GetDateString(ByVal sText As String) As String
Dim n As Byte
Dim i As Long
Dim s As String
If Len(sText)  4
End Function

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige