Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inhalte löschen ungleich ...

Inhalte löschen ungleich ...
14.08.2006 11:20:13
Stefan
Hallo zusammen,
ich habe ein kleines Problem und suche einen Lösungsansatz. Leider habe ich über die Forensuche und auch über den googlschen Freund und Helfer nichts gefunden:
Ich möchte in einer Tabellenspalte alle Inhalte (nicht die Zellen / Zeilen) löschen, die NICHT den Inhalt "Poster" haben. Dabei kann Poster aber nicht nur am Anfang stehen. BSP "10-Poster", oder "10-Poster-Z" oder "Poster".
Die entsprechende Spalte wäre "Spalte L".
Vielen Dank für die Hilfe vorab.
S. Hoppe

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

Betreff
Datum
Anwender
Anzeige
AW: Inhalte löschen ungleich ...
14.08.2006 11:30:22
Andi
Hi,
zB so:

Sub t()
Dim c As Range
For Each c In Range(Cells(1, 12), Cells(Range("L65536").End(xlUp).Row, 12))
If Not c.Value Like "*Poster*" Then c.ClearContents
Next c
End Sub

Schönen Gruß,
Andi
AW: Inhalte löschen ungleich ...
14.08.2006 11:39:31
Stefan
Vielen Dank für die schnelle Antwort!
Da ich mich gerade erst in die Makros einarbeite, wäre ich für eine kleine Erklärung dankbar, was genau wie passiert.
Vielen Dank :)
P.S. Funktioniert übrigens!
AW: Inhalte löschen ungleich ...
14.08.2006 11:59:10
Andi
Hi,
kein Problem:
Dim c As Range
deklariert eine Variable c als Range, also als Zelle oder Zellbereich;
For Each c In Range(Cells(1, 12), Cells(Range("L65536").End(xlUp).Row, 12))
Beginn einer for-Schleife in Spalte L von der ersten Zeile bis zur letzten benutzten Zeile; die erste Zeile ist durch cells(1, 12) hart codiert, wobei die 1 für die Zeile steht und die 12 für die Spalte L.
Cells(Range("L65536").End(xlUp).Row, 12) ermittelt die letzte Zeile in Spalte L, wobei der Aufbau der gleiche ist, also cells(zeile, spalte). Die 12 steht also wieder für die Spalte L.
Range("L65536").End(xlUp).Row steht für die Zeile, und heisst nix anderes als guck in Spalte L von unten nach oben und nimm die erste Zeile von unten, in der Du nen Inhalt findest.
If Not c.Value Like "*Poster*" Then c.ClearContents
Überprüft den Inhalt der gerade per for-Schleife 'aktuellen' Zelle, wobei die Sternchen wie bei der bekannten Windows- oder Office-Suchfunktion als Platzhalter dienen.
Next c
'Wendepunkt' der for-Schleife; die Überprüfung des Zellinhalts wird nun mit der 2., 3., 4., ... Zelle wiederholt.
Schönen Gruß,
Andi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige