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

Eine Guten Morgen Frage :-)

Eine Guten Morgen Frage :-)
27.07.2015 13:13:16
TomBiolein
Moin liebe Leute!
Ich habe eine Frage:
Wie schreibe ich ein Makro mit folgender Anforderung:
Wenn in Spalte A eine Zeile mit dem Wort "xyz" oder "zxy" beginnt,
dann lösche diese Zeile und alle folgenden Zeilen, bis zu der Zeile, die mit dem Wort "PDW" beginnt.
Dumme Frage…aber ist leider so :-)
Lg Biolein!

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

Betreff
Datum
Anwender
Anzeige
AW: Eine Guten Morgen Frage :-)
27.07.2015 14:40:53
Klexy
Kommt das nur 1x vor in der Tabelle?
Wenn es mehrfach vorkommt, steht nach JEDEM "xyz" ein "PDW"? Was, wenn nach dem letzten "xyz" kein "PDW" mehr kommt?
Im Prinzip musst du da zwei Do While - Loop ineinander verschachteln - wenn dir das weiterhilft.

Do While - Loop
27.07.2015 14:46:42
TomBiolein
Es kommt mehrmals vor, ja.
Und diese zwei: zwei "Do While - Loop" helfen mir nicht weiter :-(

AW: Do While - Loop
27.07.2015 17:36:09
Klexy
SO geht es:
Sub Zeilen_VonBis_Löschen()
Dim Hier As Range, Schalter As Boolean
Dim WertVon1 As Variant, WertVon2 As Variant, WertBis As Variant
WertVon1 = "xyz"
WertVon2 = "zxy"
WertBis = "PDW"
Set Hier = Range("A1")
Schalter = False
Do While Hier.Row 

Geh das Makro mit F8 Schritt für Schritt durch, damit du es verstehst. Dann kannst du auch die Variablen "xyz" usw. entsprechend anpassen.

Anzeige
AW: Eine Guten Morgen Frage :-)
27.07.2015 15:22:10
Daniel
Hi
wenn ich richtig verstehe, sollen alle Zeilen, die zwischen "xyz" / "zxy" und "PDW" (in Spalte A) gelöscht werden.
alle Zeilen, die zwischen "PDW" und "xyz"/"zxy" stehen, sollen stehen bleiben.
das würde ich so lösen:
folgende Formel markiert alle Zellen, die gelöscht werden sollen mit einem "x" (Text!) und alle die stehenbleiben sollen mit einer 1 (Zahl!)
die Formel kommt in die erste freie Spalte in Zeile 2 bis zum Datenende (Zeile1 ist überschrift)
die Zeile1 dieser Hilfsspalte muss leer bleiben:
=WENN(ODER(ZÄHLENWENN($A2;"xyz*");ZÄHLENWENN($A2;"zxy*"));"x";WENN(LINKS($A2;3)="PDW";1;B1))

(hier ist B die Hilfsspalte)
dann selektiert man die die Hilfsspalte und schränkt die Selektion auf die Zellen mit Text ein (Start - Bearbeiten - Suchen und Auswählen - Inhalte) und löscht diese Zellen mit der Option "ganze zeile"
das geht natürlich auch als makro:
Sub test()
With ActiveSheet.UsedRange
With .Columns(.Columns.Count).Offset(1, 1).Resize(.Rows.Count - 1, 1)
.FormulaR1C1 = _
"=IF(OR(COUNTIF(RC1,""xyz*""),COUNTIF(RC1,""zxy*"")),""x"",IF(LEFT(RC1,3)=""PDW"",1,R[-1]C))"
.Formula = .Value
.SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
.ClearContents
End With
End With
End Sub
Gruß Daniel

Anzeige
Zeilen Löschen
27.07.2015 15:53:48
TomBiolein
ALso der Code ist gut!
Ein kleinen haken gibt es noch.
https://www.herber.de/bbs/user/99096.xlsm
Hier ist die Excel..alle Daten zwischen 1 und 2 (inklusive 1 und 2) müssen entfernt werden. Das funktioniert noch nicht ganz.
Weißt du woran das liegt?
LG

AW: Zeilen Löschen
27.07.2015 16:17:57
Daniel
Hi
beschreibe bitte "funktioniert noch nicht ganz" genauer.
Was sollte deiner Meinung nach das Makro tun und was macht das Makro im Unterschied zu deinem Wunsch tatsächlich?
Gruß Daniel

AW: Zeilen Löschen
27.07.2015 16:31:09
Daniel
hab mir jetzt doch den Code nochmal angeschaut.
das makro funktioniert mit dieser Datei nicht, weil hier die Kennzeichung zum Löschen nicht mehr die Texte "xyz"/"zxy" und "PDW" sind, sondern die Zahlen 1 und 2 und du versäumt hast, den Code entsprechend anzupassen.
Die Formel wird jetzt sogar noch einfacher, weil du ja auf ganze zellen prüfen kannst und nicht mehr auf die ersten 3 Zeichen.
Damit reicht dann ein einfaches A2=1 anstelle von Oder(ZählenWenn(A2;"xyz*");ZählenWenn(A2;"zxy"))
Gruß Daniel
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige