Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Liste von Werten in allen Tabellen löschen

Liste von Werten in allen Tabellen löschen
19.06.2018 09:02:04
Werten
Hallo zusammen,
hoffe euch allen geht es gut!
@Michael, sorry war abwesend :)
Ich habe eine kurze Frage und hoffe ihr könnt mir da helfen:
Ich habe eine Arbeitsmappe und da drin eine Liste von Werten (string) in der Tabelle "Liste".
Diese Werte möchte ich per vba in allen Zellen jeder Tabelle inkl Tüddelchen mit einem Rutsch entfernen, ausser natürlich in der Tabelle in der die zu löschenden Begriffe stehen.
Die Werte stehen in geschweiften Klammen in Tüddelchen und sind mit Semikolon getrennt.
Können einzeln in der Zelle stehen oder in Verbund, also:
zB {"EP098233445"}
oder {"EP09215445";"FTDKSL";"ADS123"}
Einen einzelnen Wert zu löschen verstehe ich noch per vba aber bei einer Liste mit Ausschluß einer Tabelle steig ich aus :)
Tabellen sind es beliebig viele in der Datei.
Ein Beispiel siehe Anhang
https://www.herber.de/bbs/user/122168.xlsx
Vielen Dank für Eure Hilfe und Gruß
Nilo

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

Betreff
Datum
Anwender
Anzeige
AW: Probier mal...
19.06.2018 09:26:54
Michael
Hallo...
Sub a()
Const PRE$ = """" 'führendes Anführungszeichen
Const SUFSNGL$ = """" 'nachfolgendes Anführungszeichen
Const SUF$ = """; " 'nachfolgendes Anführungszeichen, Semikolon und Leerzeichen
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsQ As Worksheet: Set WsQ = Wb.Worksheets("zu löschende Einträge")
Dim WsB As Worksheet: Set WsB = Wb.Worksheets("backupdaten")
Dim WsZ As Worksheet, Begriff As Range, Liste As Range
Set Liste = WsQ.Range("A1:A" & WsQ.Cells(WsQ.Rows.Count, 1).End(xlUp).Row)
For Each WsZ In Wb.Worksheets
'Ausschluss der Tabelle mit der Begriffsliste und ggf. einer Tabelle
'die Backup-Daten enthält; beides o.a. definiert
If WsZ.Name  WsQ.Name And WsZ.Name  WsB.Name Then
With WsZ
For Each Begriff In Liste
With .UsedRange
.Cells.Replace what:=PRE & Begriff & SUF, _
replacement:="", _
lookat:=xlPart
.Cells.Replace what:=PRE & Begriff & SUFSNGL, _
replacement:="", _
lookat:=xlPart
End With
Next Begriff
End With
End If
Next WsZ
Set Wb = Nothing: Set WsQ = Nothing: Set WsZ = Nothing
Set Begriff = Nothing: Set Liste = Nothing
End Sub
Auf Basis Deiner Beispiel-Datei, s.a. Code-Kommentare. Passt das so?
LG
Michael
Anzeige
AW: Jipiii ! Danke :)
20.06.2018 08:24:54
Nilo
Hallo Michael,
das sieht super aus und bringt das gewünschte Ergebnis, vielen Dank für Deine Hilfe.
Das hätte ich nicht geschafft.
Beste Grüße
Nilo
Gern, Danke für die Rückmeldung
20.06.2018 13:54:29
Michael

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige