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

Bestimmte Zeichen löschen und Texte trennen

Bestimmte Zeichen löschen und Texte trennen
29.12.2003 15:59:03
Tom
Hallo

Ich habe in Spalte A mehrere hundert Ausdrücke die nach folgendem Schema aufgebaut sind:

06:58:43 10.0.6.47 GET /projects/Test/data/styles/text2.css 401

Ich suche nach einer Makrolösung, die mir jene Ausdrücke löscht in denen das Wort Test nicht vorkommt. D.h. die ganze Zeile soll gelöscht werden.
Ausserdem soll der Text von Spalte A nach Spalte B kopiert werden, aber ohne den folgenden Teil: (Ist immer gleich aufgebaut)

06:58:43 10.0.6.47 GET /

Im Voraus vielen Dank für Tipps.
Tom

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

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Zeichen löschen und Texte trennen
29.12.2003 16:24:48
Michael Brueggemann
Hallo Tom,

so geht's:

Option Explicit
Option Base 1


Sub Entfernen_und_Splitten()
Dim i, intPosSlash As Integer
Dim wks As Worksheet
' Zeiger auf zu bearbeitendes Worksheet setzen
Set wks = ThisWorkbook.Sheets(1)
' von hinten beginnen
' (gibt sonst komische "Ergebnisse", da
'  Zeilen geloescht werden)
i = wks.UsedRange.Rows.Count
' also von hinten bis zur ersten zu bearbeitenden Zeile
Do While i >= 1
' Zeile loeschen, wenn "TEST" im Zellinhalt gefunden wird
If InStr(1, UCase(wks.Cells(i, 1).Value), "TEST") Then
wks.Rows(i).Delete Shift:=xlUp
Else
' Position des ersten Slashes im Zellinhalt suchen
intPosSlash = InStr(1, wks.Cells(i, 1).Value, "/")
' wenn Slash gefunden, dann linken Teil des Zellinhalts bis
' zum Slash in Spalte B uebernehmen
If intPosSlash Then _
wks.Cells(i, 2).Value = Left(wks.Cells(i, 1).Value, intPosSlash)
End If  ' InStr(1, UCase(wks.Cells(i, 1).Value), "TEST")
' Zeilenzaehler neu kalkulieren
i = i - 1
Loop
End Sub


CIAO
Michael
Anzeige
AW: Bestimmte Zeichen löschen und Texte trennen
29.12.2003 17:02:40
Tom
Hallo Michael

Vielen Dank für den Code.
Leider funktioniert er nicht so, wie ich mir das wünsche.
Die Ausdrücke in denen Test nicht vorkommt bleiben bestehen und in die Spalte B wird der 1. Teil eingefügt.
Ich möchte den Text ohne den Teil "06:58:43 10.0.6.47 GET /" in Spalte B

Tom
AW: Bestimmte Zeichen löschen und Texte trennen
30.12.2003 11:01:37
Michael Brueggemann
Hallo Tom,

' wenn Slash gefunden, dann rechten Teil des Zellinhalts
' ab Slash + 1 in Spalte B uebernehmen
If intPosSlash Then _
wks.Cells(i, 2).Value = Right(wks.Cells(i, 1).Value, _
Len(wks.Cells(i, 1).Value) _
- intPosSlash)

CIAO
Michael
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige