Das Problem ist, dass in diesem Bereich zwar "nichts" stehen kann, aber dennoch bleiben soll. Nur wenn in I2 "nichts" steht, soll auch J2 gelöscht werden. Wenn in J2 "nichts" steht und in I2 etwas anderes steht als "nichts", soll J2 auch erhalten bleiben.
Hab nun mittels deinem Code folgendes:
Code:
Sub DeleteAllExceptNichts()
Dim Zeile As Long
Dim ZeileMax As Long
Dim Text As Variant
With tblExport
Text = "nichts"
ZeileMax = .UsedRange.Rows.Count
For Zeile = 2 To ZeileMax
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 0 Then
.Range("I" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("J" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("K" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("L" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("M" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("N" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("O" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("P" & Zeile) = ""
End If
If InStr(1, .Range("I" & Zeile).Value, Text, 1) = 1 Then
.Range("Q" & Zeile) = ""
End If
Next Zeile
End With
End Sub
Erfüllt seinen Szweck, ist aber wohl weder effizient noch schön.
Weiß nun nicht wie ich noch eine Variable für die Spalten J:Q definieren kann.