VBA: Suche nach einem bestimmten Kürzel in einem Text und diese Kürzel löschen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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.

Bild zum Beitrag

grün: die Funktion "Sub Worksheet_Change()"

orange: die Funktion "ersetzeWort()"

Bei Fragen gerne melden :)

 - (Excel VBA, Excel VBA programmierung)

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.