Option
Explicit
Public
Sub
filterData()
Dim
wks
As
Worksheet
Dim
rng
As
Range, c
As
Range
Dim
sCmd
As
String
Dim
values()
As
Variant
, valuesNeu()
As
Variant
Dim
dWert1
As
Double
, dWert2
As
Double
Dim
i
As
Integer
Dim
v
As
Variant
Set
wks = ActiveSheet
Set
rng = wks.Range(wks.Range(
"B2"
))
dWert1 = wks.Range(
"D2"
)
dWert2 = wks.Range(
"G2"
)
sCmd = wks.Range(
"C2"
) & wks.Range(
"E2"
) & wks.Range(
"F2"
)
values() = rng.Value
ReDim
valuesNeu(UBound(values()))
Select
Case
sCmd
Case
"="
:
For
Each
v
In
values()
If
v = dWert1
Then
i = i + 1
valuesNeu(i - 1) = v
End
If
Next
v
Case
"<"
:
For
Each
v
In
values()
If
v < dWert1
Then
i = i + 1
valuesNeu(i - 1) = v
End
If
Next
v
Case
">"
:
For
Each
v
In
values()
If
v > dWert1
Then
i = i + 1
valuesNeu(i - 1) = v
End
If
Next
v
Case
"<="
:
For
Each
v
In
values()
If
v <= dWert1
Then
i = i + 1
valuesNeu(i - 1) = v
End
If
Next
v
Case
">="
:
For
Each
v
In
values()
If
v >= dWert1
Then
i = i + 1
valuesNeu(i - 1) = v
End
If
Next
v
Case
Else
:
MsgBox
"Dieser Operator ist nicht definiert.."
, vbInformation
GoTo
cleanUp
End
Select
With
rng
.Clear
.Value = Application.Transpose(valuesNeu())
End
With
cleanUp:
Set
rng =
Nothing
Set
wks =
Nothing
End
Sub