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

Rest der Liste löschen....

Rest der Liste löschen....
Uwe
Hallo an alle Excelaner,
lese eine Textdatei in ein Exceltabellenblatt ein.
Nun wäre es schön wenn man per code folgendes hin bekommen könnte....
suche in Spalte A abwärts nach einem Wort"K O N T R O L L B L A T T" in einem Satz einer Zeile und lösche ab da alles abwärts.
Bei der Recherche hab ich gelernt das man das wohl eher von unten nach oben macht.... wenn das richtig ist, müsste es wohl dann so lauten....
lösche von unten nach oben alle Zeilen inklusive der Zeile in Spalte A wo das Wort
"K O N T R O L L B L A T T" in einem Satz enthalten ist.
Das Wort steht am Anfang des Satzes....
für Hilfe danke ich schon mal im Vorab!!!
Gruß we

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Rest der Liste löschen....
16.03.2010 05:00:56
Steffen
Hallo Uwe
wenn das suchwort nur einmal vorkommt dann so:
(kommt ins modul des blattes):
Sub test()
Dim start As Long, ende As Long
On Error GoTo AUSGANG
start = Cells.Find("Kontrollblatt", LookIn:=xlValues).Row
ende = Range("A65535").End(xlUp).Row
Range(Cells(start, 1), Cells(ende, 1)).EntireRow.Delete
Exit Sub
AUSGANG:
MsgBox "keine Übereinstimmung"
End Sub

viele grüße
steffen
oder auch so..
16.03.2010 05:36:10
Steffen
Sub test()
Dim gefunden
Dim lngAnfang As Long, lngEnde As Long
With Columns(1)
Set gefunden = .Find("Kontrollblatt", LookIn:=xlValues)
If Not gefunden Is Nothing Then
lngEnde = gefunden.Row
lngEnde = .End(xlDown).Row
Range(Cells(lngEnde, 1), Cells(lngEnde, 1)).ClearContents
End If
End With
End Sub
grüße
steffen
Anzeige
sorry Fehler
16.03.2010 05:39:03
Steffen
..ist einfach zu früh ;-)
Sub test()
Dim gefunden
Dim lngAnfang As Long, lngEnde As Long
With Columns(1)
Set gefunden = .Find("Kontrollblatt", LookIn:=xlValues)
If Not gefunden Is Nothing Then
lngAnfang = gefunden.Row
lngEnde = .End(xlDown).Row
Range(Cells(lngAnfang, 1), Cells(lngEnde, 1)).ClearContents
End If
End With
End Sub

so ist besser
AW: sorry Fehler
16.03.2010 07:33:18
Uwe
Guten Morgen Steffen,
na das mit dem zu Früh kenn ich :-)
also nu hab ich es schon mal eingebaut und es funktioniert soweit.
Beim ersten Code löscht er es nach unten weg, wie gewünscht. Beim zweiten Code nach oben alle Zeilen.
Dafür schon mal besten Dank!!!!!!
Leider fällt mir folgendes noch auf....... Das Suchwort alleine aus der Zeile da passiert nichts mit dem Code.
Nur wenn ich den ganzen Satz einbaue. Aber das geht leider nicht. das einzigste Wort was sich beim einlesen nicht verändert ist das erste....... der ganze Satz sieht z.b. so aus.......
"K O N T R O L L B L A T T NR XX-XX204 04.03.2010"( in der Vorschau sieht man leider nicht, dass in dem Satz zwischen den Wörter vielmehr unterschiedliche Leerstellen sind)
... die Nummer und das Datum ändern sich leider immer.
wäre nett wenn Du mir da nochmal unter die Arme greifen könntest!
Gruß Uwe
Anzeige
AW: sorry Fehler
16.03.2010 07:33:38
Uwe
Guten Morgen Steffen,
na das mit dem zu Früh kenn ich :-)
also nu hab ich es schon mal eingebaut und es funktioniert soweit.
Beim ersten Code löscht er es nach unten weg, wie gewünscht. Beim zweiten Code nach oben alle Zeilen.
Dafür schon mal besten Dank!!!!!!
Leider fällt mir folgendes noch auf....... Das Suchwort alleine aus der Zeile da passiert nichts mit dem Code.
Nur wenn ich den ganzen Satz einbaue. Aber das geht leider nicht. das einzigste Wort was sich beim einlesen nicht verändert ist das erste....... der ganze Satz sieht z.b. so aus.......
"K O N T R O L L B L A T T NR XX-XX204 04.03.2010"( in der Vorschau sieht man leider nicht, dass in dem Satz zwischen den Wörter vielmehr unterschiedliche Leerstellen sind)
... die Nummer und das Datum ändern sich leider immer.
wäre nett wenn Du mir da nochmal unter die Arme greifen könntest!
Gruß Uwe
Anzeige
neuer Versuch..
16.03.2010 13:22:15
Steffen
Hallo Uwe,
wenn das Suchwort immer in dieser von dir beschriebenen Form gesucht werden soll dann teste mal folgenden Code:
Sub test()
Dim gefunden
Dim lngAnfang As Long, lngEnde As Long
With Columns(1)
Set gefunden = .Find("K O N T R O L L B L A T T", LookIn:=xlValues)
If Not gefunden Is Nothing Then
lngAnfang = gefunden.Row
lngEnde = .End(xlDown).Row
Range(Cells(lngAnfang, 1), Cells(lngEnde, 1)).EntireRow.Delete
End If
End With
End Sub

Grüße Steffen
AW: neuer Versuch..
16.03.2010 16:07:40
Uwe
Guten Tag Steffen,
leider geht das immer noch nicht. Wenn ich die ganze Zeile in den Code einfüge, dann geht es.
Ich hab mal eine Datei hochgeladen, damit du sehen kannst wie das so aufgebaut ist.
Wie geschrieben...das Wort verndert sich nie...nur die Nummer und das Datum....
https://www.herber.de/bbs/user/68591.xls
..und danke für die Geduld!!! :-)
Gruß Uwe
Anzeige
AW: neuer Versuch..
16.03.2010 16:28:31
Uwe
noch als Anmerkung zur Datei....
es sind noch Textzeilen davor!.....hab das nur was abgespeckt... es sollte ja dann von da ab nach unten alles gelöscht werden.
Gruß Uwe
AW: neuer Versuch..
16.03.2010 16:34:55
Steffen
Hallo Uwe,
probier mal das:
Private Sub CommandButton1_Click()
Dim gefunden
Dim lngAnfang As Long, lngEnde As Long
With Columns(1)
Set gefunden = .Find("K O N T R O L L B L A T T", LookIn:=xlValues)
If Not gefunden Is Nothing Then
lngAnfang = gefunden.Row
lngEnde = Cells.Find(What:="*", after:=Range("A1"), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Range(Cells(lngAnfang, 1), Cells(lngEnde, 1)).EntireRow.Delete
End If
End With
End Sub

Gruß
Steffen
Anzeige
AW: neuer Versuch..
16.03.2010 16:45:12
Uwe
Hallo Steffen,
leider tut sich da auch nix. Nur wenn ich den ganzen Text der Zeile suchen lasse, dann geht es.
Das ist mir ein völliges Rätsel.
Gruß Uwe
AW: neuer Versuch..
16.03.2010 17:03:56
Uwe
...hab da was in der Recherche gefunden......
Dim zz&
With ActiveSheet
For zz = .UsedRange.Rows.Count To 1 Step -1
If InStr(.Cells(zz, 1), "K O N T R O L L B L A T T") Then .Rows(zz).Delete
Next zz
End With
damit kann ich die Zeile schon mal löschen.....kann man das entsprechend erweitern?
Gruß Uwe
nun nochmal von vorn..
16.03.2010 21:10:06
vorn..
Hallo Uwe,
also wenn ich deine Bsp.Datei teste funktioniert der code wie gewünscht...
..deine Schleife aus der Recherche macht nur Sinn wenn der Suchbegriff häufiger vorkommt ..
vlt währe es Sinnvoll du läds das bsp nocheinmal mit den letzen Code hoch damit ich schaun kann woran es liegt..
Grüße
Steffen
Anzeige
AW: nun nochmal von vorn..
16.03.2010 21:30:39
vorn..
Guten Abend Steffen,
also mit dem Code lese ich die txt Datei ein....
Private Sub CommandButton1_Click()
Dim appWord As Object
Dim docWord As Object
Dim rngWord As Object
Dim sFile As String
ActiveSheet.Cells.ClearContents
Range("A1").Activate
Const StartDrive = "C:"
Const StartDir = "\Test\"
ChDrive StartDrive
ChDir StartDir
fn = Application.GetOpenFilename("Dokumente, *.txt", , "Bitte Datei auswählen")
If fn = False Then Exit Sub 'Abbrechen gedrückt
Set appWord = CreateObject("Word.Application")
Set docWord = appWord.Documents.Open(fn)
'Set rngWord = docWord.Paragraphs(1).Range ' ersten Absatz auslesen
Set rngWord = docWord.Range ' ganzes Dokument auslesen
rngWord.Copy
'Worksheets.Add after:=Worksheets(Worksheets.Count) ' in neues Tabellenblatt einfügen
ActiveSheet.Paste
appWord.Quit
Set rngWord = Nothing
Set docWord = Nothing
Set appWord = Nothing
Range("A1").Activate
End Sub
........ hilft das weiter?
Gruß Uwe
Anzeige
AW: keine Ahnung..
16.03.2010 22:13:17
Uwe
na das ist ein Ding Steffen .... ich kann da machen was ich will..... kann es vielleicht an irgend welchen Einstellungen in Excel liegen?....fehlende Verweise oder so was?
muß ich mich aber nochmal für deine Geduld und Hilfe hier bedanken!!!!!!!
Gruß Uwe
Anzeige
nun läuft es......
16.03.2010 22:31:50
Uwe
...halt dich fest Steffen....... hab jetzt folgendes in meiner unwissenheit versucht..... Datei unter neuem Namen abgespeichert....Rechner neu gestartet....und?....es läuft prima...genau so wie du den Code geschrieben hast!!!!....Frag mich nicht woran das gelegen hat? Excel hatte ich in den letzten 2 Tagen schon ein paar mal neu gestartet und den Rechner auch. Aber sowas ähnliches hatte ich schon mal...da konnte ich bei einem Button in einer Userform nicht doppelt klicken um in den Code zu gelangen.
Gib es solche Excelmerkwürdigkeiten oder liegt sowas nu doch nur an mir? :-)
Nochmals lieben Dank für deine Ausdauer!!!!!!
Gruß Uwe
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige