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

Code

Code
20.09.2018 13:23:28
john
Hallo zusammen,
ich möchte mit einem Code bewirken das alle Zeilen die eine bestimmte Buchstabenfolge z.B kk _
nicht enthalten gelöscht werden. Dafür habe ich diesen Code der funktioniert auch nur das er _
alle Zeilen löscht kann mir das jemand abändern das die ersten 17 Zeilen erhalten bleiben? Toll _ wäre auch noch wenn dann nach dem Löschen das kk entfernt und gegen ein Hr ausgetauscht werden würde.

Sub Schaltfläche()
Dim i As Long
With Worksheets("KW35")
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 11).End(xlUp).Row To 1 Step -1
If Cells(i, 11).Value Like "kk*" Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End With
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingtes Zeilenlöschen u. Zeichen ersetzen
20.09.2018 13:40:26
Gerd
Hallo,
klasse spezifischer Betreff :-)
a) To 18
b) In der ganzen Tabelle oder nur in Spalte K ?
Gruß zurück
Gerd
AW: bedingtes Zeilenlöschen u. Zeichen ersetzen
20.09.2018 13:47:59
john
Hallo,
sorry ja Betreff fällt das nächste mal spezifischer aus. Wo genau muss ich das To 18 setzen. In Spalte Q wäre es ausreichend.
AW: bedingtes Zeilenlöschen u. Zeichen ersetzen
20.09.2018 13:59:13
Gerd
Hallo,
statt "To 1", Spalte 11 im Code entspicht aber Spalte K?
cu Gerd
AW: bedingtes Zeilenlöschen u. Zeichen ersetzen
20.09.2018 14:05:48
john
Danke Gerde.
Ich denke der Code ist besser. Wo müsste ich hier die 18 setzen? Ist es möglich das kk anschliessend gegen hr zu tauschen?
Sub Zeilelöschen()
Dim zeile As Long
Dim zeilemax As Long
Application.ScreenUpdating = False
With Worksheets("KW38")
zeilemax = .Cells(Rows.Count, 1).End(xlUp).Row
For zeile = zeilemax To 3 Step -1
If .Cells(zeile, 4).Value Like "KK*" Or _
.Cells(zeile, 4).Value Like "Fußball*" Or _
.Cells(zeile, 4).Value Like "Tennis*" Then
Else
.Rows(zeile).Delete
End If
Next zeile
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: bedingtes Zeilenlöschen u. Zeichen ersetzen
20.09.2018 14:20:33
Gerd
Hallo teste mal.
Sub Zeilelöschen()
Dim zeile As Long
Dim zeilemax As Long
Application.ScreenUpdating = False
With Worksheets("KW38")
zeilemax = .Cells(Rows.Count, 1).End(xlUp).Row
For zeile = zeilemax To 18 Step -1
If .Cells(zeile, 4).Value Like "KK*" Then
.Cells(zeile, 4) = "HK" & Mid(.Cells(zeile, 4), 3)
ElseIf Not .Cells(zeile, 4).Value Like "Fußball*" _
And Not .Cells(zeile, 4).Value Like "Tennis*" Then
.Rows(zeile).Delete
End If
Next zeile
End With
Application.ScreenUpdating = True
End Sub

AW: bedingtes Zeilenlöschen u. Zeichen ersetzen
20.09.2018 14:41:09
john
Hallo Gerd,
danke das klappt schonmal sehr gut. Es sollte nur der Text vor dem KK erhalten bleiben und nach Möglichkeit das HR dann vor dem Text stehen. Geht das überhaupt?
Danke nochmal und Gruß
Anzeige
AW: bedingtes Zeilenlöschen u. Zeichen ersetzen
20.09.2018 14:57:09
Gerd
Hallo,
unmöglich ist nur wenig. Allerdings verstehe ich ohne Beispieltabellen (vorher / nachher)
im Kontext zu deinem Code dein Anliegen nicht mehr.
Ich stelle den Beitrag deshalb auf offen.
Gruß Gerd
AW: Code
24.09.2018 21:16:56
Piet
Hallo
ich habe den Code von Gerd noch mal geaendert, in der Hoffnung das es jetzt klappen wird.
Mir fiel auf das in deiner ersten AW der Vergleich mit Like "KK" in Spalte 11 ausgeführt wird,
im neuen Code von Gerd aber in Spalte 4. Welche Spalte ist die Richtige? ggf. selbst berichtigen.
Im Thread steht das der Text vor "KK" erhalten bleiben soll. uss dann der Vergleich mit Like nicht so sein?
Like "*KK" - das * Zeichen vor dem Text KK? Wenn ich mich irre bitte in meinem Makro Like korrigierenen!
mfg Piet
Sub Zeilelöschen()
Dim zeile As Long
Dim zeilemax As Long
Application.ScreenUpdating = False
With Worksheets("KW38")
zeilemax = .Cells(Rows.Count, 1).End(xlUp).Row
For zeile = zeilemax To 18 Step -1
If .Cells(zeile, 4).Value Like "*KK" Then
Txt = Cells(zeile, 4).Value
.Cells(zeile, 4) = "HR" & Left(Txt, InStr(Txt, "KK") - 1)
ElseIf Not .Cells(zeile, 4).Value Like "Fußball*" _
And Not .Cells(zeile, 4).Value Like "Tennis*" Then
.Rows(zeile).Delete
End If
Next zeile
End With
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige