Clever-Excel-Forum

Normale Version: Nur bestimmte Wörter aus Zelle löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich möchte ganz bestimmte Wörter die in meiner Tabelle sehr häufig vorkommen löschen. Es soll aber nicht der ganze Inhalt der Zelle gelöscht werden, sondern nur die von mir festgelegten Wörter. In Tabellenblatt 1 in Spalte C stehen bei mir kurze Sätze, diese Spalte soll nach den Wörtern durchsucht werden. Ich habe hierfür bereits eine Lösung gefunden und einen Code erstellt. Er funktioniert auch, nur gibt es etwas das ich noch ändern möchte, doch ich mache irgendwas falsch. Es ist so: Die Wörter nach denen ich suchen möchte stehen bei mir in Tabellenblatt 2, Spalte O, Spalte P ist leer, d. h. Excel sucht nach dem Wort und ersetzt es durch "   ", das Wort wird gelöscht, klappt auch, aber nur wenn sich sowohl die Sätze die durchsucht werden sollen als auch die Wörter nach denen gesucht werden soll im gleichen Tabellenblatt befinden, also alles in Tabellenblatt 1. Ich habe noch einen Code eingefügt der mir die Wörter von Tabellenblatt 2 in Tabellenblatt 1 kopiert, doch das kann man auch anders machen (Suchwörter sollen in Tabellenblatt 2 stehen). Ich weiss dass man Tabellenblätter mit 

With Worksheets("Tabellenblatt 2") ansprechen kann, doch das mag Excel nicht.

Hier mein Code:

Option Explicit
Sub Wörter()
Dim o As Range
For Each o In Intersect(ActiveSheet.UsedRange, Columns(15))
 Columns(3).Replace What:=o, Replacement:=o.Offset(, 3), LookAt:=xlPart, _
   SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
   ReplaceFormat:=False
Next o
End Sub

Würd mich über Hilfe freuen.

Gruß
Hallo,
Sub WoerterErsetzen()
 Dim o As Range
 With Worksheets("Tabellenblatt 2")
   For Each o In Intersect(.UsedRange, .Columns(15))
     Worksheets("Tabellenblatt 1").Columns(3).Replace What:=o, Replacement:=o.Offset(, 3), LookAt:=xlPart, _
       SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
       ReplaceFormat:=False
   Next o
 End With
End Sub
Gruß Uwe
Danke, ich hab With Worksheets("Tabelle 1") nur in die falsche Zeile geschrieben, so kann es klappen. Jetzt kommt bei mir aber noch eine andere Fehlermeldung.  Excel markiert die zweite zeile "For each p In INTERSECT", und meldet Objekt erforderlich. Woran  kann das liegen?
Hallo,

probiere es Mal mit Applikation.Intersect

Gruß Uwe
Hallo,

Korrektur: Application mit c .

Gruß Uwe
Ich hab mich vertippt. Sorry, ok es klappt. Thema erledigt. Danke
Hallo,

vielleicht geht der benutzte Bereich gar nicht bis zur 15. Spalte?

Gruß Uwe
Code:
Sub M_snb()
  For Each it In activesheet.Columns(15).specialcells(2)
     activesheet.Columns(3).Replace it.value,it.Offset(, 3).value
  Next
End Sub