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.