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

bestimmte Texte löschen

bestimmte Texte löschen
12.10.2017 12:52:16
Christian
Hallo.
Ich bitte um eure Hilfe.
Besser gesagt um einen Rat.
Habe einen sehr großen Bereich von M1 bis OW15729.
Ihr seht schon mein erstes Problem, das lässt sich bei einer 300 KB Grenze nicht mehr einfach so hochladen.
Mein Ziel ist es
1. alle Texte die mit https:// anfangen zu löschen.
2. nachfolgende Texte, die in derselben Zeile stehen nach links zu verschieben, damit keine Lücken übrig bleiben.
3. Die Zeilen, in denen alle Texte im o.g. Bereich gelöscht wurden (also nur noch die Spalten A bis L übrig sind) zu löschen. (Wobei man dazu sagen sollte, dass Spalte D grundsätzlich leer ist.
Was ist da der beste Weg?
Gruß und danke
Christian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestimmte Texte löschen
12.10.2017 13:10:34
Rudi
Hallo,
wahrscheinlich nicht der beste Weg aber es ist einer.
Sub yyy()
Dim r As Range, rDel As Range
For Each r In Range("m1:ow15729")
If LCase(Left(r, 8)) = "https://" Then
If rDel Is Nothing Then
Set rDel = r
Else
Set rDel = Union(rDel, r)
End If
End If
Next
If Not rDel Is Nothing Then
rDel.Delete shift:=xlToLeft
End If
Set r = Nothing
For Each r In Range("m1:m15729")
If WorksheetFunction.CountA(r.Resize(, 401)) = 0 Then
If rDel Is Nothing Then
Set rDel = r
Else
Set rDel = Union(rDel, r)
End If
End If
Next
If Not rDel Is Nothing Then
rDel.EntireRow.Delete shift:=xlUp
End If
End Sub
Gruß
Rudi
Anzeige
AW: bestimmte Texte löschen
12.10.2017 14:24:36
Christian
Hallo Rudi,
irgendwann kam beim Ausführen ein Fenster in dem lediglich 400 stand.
Die Texte wurden gelöscht, an der Zeilenanzahl also Punkt 3 hat sich nichts geändert.
Habe leider keine Idee, wie ich jetzt auf die Schnelle noch prüfen kann, ob Punkt 2 komplett abgearbeitet wurde.
Gruß
Christian
AW: bestimmte Texte löschen
12.10.2017 14:54:43
Daniel
Hi
probier mal das, ist nicht getestet:
Sub test()
Dim ar As Range
With ActiveSheet
With .Range(Cells(1, 13), .Cells.SpecialCells(xlCellTypeLastCell))
'--- alle Texse mit https durch WAHR ersetzen
.Replace "https://*", True, xlWhole
'--- alle Zeilen, löschen, die in allen Zellen WAHR enthalten
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(CountIf(RC13:RC[-1],true)=Columns(RC13:RC[-1]),0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
.ClearContents
End With
'--- alle Zellen mit WAHR löschen und nachfolgende nach links rücken
For Each ar In .SpecialCells(xlCellTypeConstants, 4).Areas
ar.Delete shift:=xlToLeft
Next
End With
End With
End Sub
Gruß Daniel
Anzeige
AW: bestimmte Texte löschen
12.10.2017 21:24:17
Christian
Hallo Daniel,
sorry das ersetzen hat noch geklappt, es gibt auch einige WAHRS die gelöscht wurden.
Aber es sind auch welche übrig geblieben.
Und Zeilen gelöscht wurden gar keine, auch wenn es jetzt durchaus Zeilen gibt, in denen nur noch Inhalt in den Spalten A:L gibt.
Gruß
Christian
Fehlermeldungen gab es keine.
AW: bestimmte Texte löschen
12.10.2017 21:36:24
Daniel
dann vielleicht so:

Sub löschen()
Dim c As Long
With ActiveSheet
With .Range(Cells(1, 13), .Cells.SpecialCells(xlCellTypeLastCell))
'--- alle Texse mit https durch WAHR ersetzen
.Replace "https://*", True, xlWhole
'--- alle Zellen mit WAHR löschen und nachfolgende nach links rücken
For c = .Columns.Count To 1 Step -1
.Columns(c).SpecialCells(xlCellTypeConstants, 4).Delete shift:=xlToLeft
Next
'--- alle Zeilen, löschen, die in allen Zellen WAHR enthalten
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(CountA(RC13:RC[-1],true)=0,0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
.ClearContents
End With
End With
End With
End Sub
Gruß Daniel
Anzeige
korrektur
12.10.2017 21:37:38
Daniel
sorry, fehler im Code
das ist der richtige:
Sub löschen()
Dim c As Long
With ActiveSheet
With .Range(Cells(1, 13), .Cells.SpecialCells(xlCellTypeLastCell))
'--- alle Texse mit https durch WAHR ersetzen
.Replace "https://*", True, xlWhole
'--- alle Zellen mit WAHR löschen und nachfolgende nach links rücken
For c = .Columns.Count To 1 Step -1
.Columns(c).SpecialCells(xlCellTypeConstants, 4).Delete shift:=xlToLeft
Next
'--- alle Zeilen, löschen, die in allen Zellen WAHR enthalten
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(CountA(RC13:RC[-1])=0,0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
.ClearContents
End With
End With
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige