VBA: Suche nach einem bestimmten Kürzel in einem Text und diese Kürzel löschen?
Hallo zusammen,
ich habe in Spalte H eines Worksheets habe ich folgende Informationen (das ist nur ein Beispiel. In meiner Tabelle sind das mehrerer 100 verschiedene Varianten) stehen:
Da ich das Kürzel (ETL) nicht benötige, soll das in Spalte I wie folgt ausgegeben werden:
Wie kann ich das automatisieren, dass immer wenn das Kürzel ETL vorhanden ist, dass dieses entsprechend gelöscht wird (inkl. des Leerzeichens)?
2 Antworten
![](https://images.gutefrage.net/media/user/cleanercode/1712487595293_nmmslarge__371_572_1203_1203_4eb87b925752e760436e518e01bae5c3.jpg?v=1712487595000)
Hallo :)
Vorab - du solltest die Namen und Rollen voneinander trennen. Es sind verschiedene Entitäten, die eine eigene Spalte bekommen sollten. Das erleichtert dir die Datenverarbeitung enorm.
Folgendes VBA-Skript löscht alle von dir angegebenen Zeichenketten in einem Wertebereich, den du vergeben musst:
Sub ersetzeWort(ByVal noNeedString As String)
Range("A1:Z900").Replace What:=noNeedString, Replacement:=""
End Sub
Damit das Skript automatisch und parametrisiert aufgerufen wird, benötigst du folgendes Schnipsel im Arbeitsblatt selbst:
Sub Worksheet_Change(ByVal Target As Range)
Dim werteBereich As Range
Set werteBereich = Range("A1:Z900")
If Not Application.Intersect(werteBereich, Range(Target.Address)) _
Is Nothing Then
Call ersetzeWort("ETL")
Call ersetzeWort(" ")
End If
End Sub
An dieser Stelle wird der Wertebereich auf "Wertveränderungen" beobachtet, sobald du einen neuen Wert in eine Zelle schreibst, wird das Sub automatisch ausgeführt.
grün: die Funktion "Sub Worksheet_Change()"
orange: die Funktion "ersetzeWort()"
Bei Fragen gerne melden :)
![- (Excel VBA, Excel VBA programmierung)](https://images.gutefrage.net/media/fragen-antworten/bilder/550295761/0_big.jpg?v=1718909874000)
![](https://images.gutefrage.net/media/user/Tefal40/1573898491927_nmmslarge__0_0_960_960_e2ac34e1b18f19102f515d8e9bd9a8ba.jpg?v=1573898492000)
Suchfunktion (Strg, F) öffnen - auf Suchen und Ersetzen gehen - “ (ETL)“ eingeben und bei Ersetzen nichts eingeben - auf „Alle finden und ersetzen“ klicken.
Falls ich mit Begrifflichkeiten nicht auf dem Punkt liege, entschuldige ich mich. Ich arbeite mit Excel in Englisch und habe den Vorgang gerade aus dem Kopf beschreiben müssen.