Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Werte As Variant, j As Long
With Sheets("Tabelle1") 'Blattnamen anpassen Werte = .Range("D1").CurrentRegion 'in D1:D? stehen die einzelnen Inhaltsblöcke For j = 1 To UBound(Werte, 1) .Columns(1).Replace Werte(j, 1), "" 'in Spalte A stehen die Texte Next j End With End Sub
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • PeterN
Sub Tauschen() Dim TB1, TB2, LR As Long, i As Long, SP1 As Integer, SP2 As Integer, TTausch As String Set TB1 = Sheets("Tabelle1") Set TB2 = Sheets("Tabelle2")
SP1 = 1 ' Text steht in Spalte A SP2 = 1 ' Löschtext steht in Spalte A
LR = TB2.Cells(TB2.Rows.Count, SP2).End(xlUp).Row 'letzte Zeile der Spalte
For i = 1 To LR TTausch = TB2.Cells(i, SP2)
With TB1.Columns(SP1) .Replace What:=TTausch, Replacement:="", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End With Next End Sub
LG UweD
Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:1 Nutzer sagt Danke an UweD für diesen Beitrag 28 • PeterN
Sub Tauschen() Dim LR As Long, i As Long, SP1 As Integer, SP2 As Integer, TTausch As String SP1 = 1 ' Text steht in Spalte A SP2 = 2 ' Löschtext steht in Spalte B
LR = Cells(Rows.Count, SP2).End(xlUp).Row 'letzte Zeile der Spalte
For i = 1 To LR TTausch = Cells(i, SP2)
Columns(SP1).Replace What:=TTausch, Replacement:="", LookAt:= _ xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Werte As Variant, j As Long
With Sheets("Tabelle1") Werte = .Range("E1:E" & .Cells(.Rows.Count, 5).End(xlUp).Row) For j = 1 To UBound(Werte, 1) .Columns("A:D").Replace Werte(j, 1), "" Next j End With End Sub
In Spalte E müssen mind. 2 Zeilen Werte haben. Solltest du nur einen Inhalt Ausfilter wollen, schreibe in E2 einfach einen Text der nicht vorkommen kann. z.B. "##"
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • PeterN
Nur zum besseren Verständnis. Diese Lösung löscht in ein bis vier Spalten bzw. max. vier Spalten. Wenn ich die Lösung auf 5 Spalten anpassen wollte , würde das so aussehen?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim Werte As Variant, j As Long
With Sheets("Tabelle1") Werte = .Range("F1:F" & .Cells(.Rows.Count, 6).End(xlUp).Row) For j = 1 To UBound(Werte, 1) .Columns("A:E").Replace Werte(j, 1), "" Next j End With End Sub
Oder bei mehr Spalten die von mir fett markierten Bereiche dementsprechend anpassen.
Genial ist das die Lösung auch Zeilen in den Spalten oder ganze Spalten überspringt, die leer sind und trotzdem alle definierten Spalten abfragt.