Supportnet / Forum / Tabellenkalkulation
VBA negative u. positive Werte
Frage
Hi Leute!
Gibt es unter VBA einen Befehl nur positive oder negative Werte auszuwählen bzw. zu Filtern?
Gruß
AF
Antwort 1 von Saarbauer
Hallo,
deine Angaben reichen so nicht, aber du kannst z.B. mit einer If-Abfrage nach >0 und <0 abfragen.
Sonst sind etwas genauere Angaben erforderlich was du machen willst
Gruß
Helmut
deine Angaben reichen so nicht, aber du kannst z.B. mit einer If-Abfrage nach >0 und <0 abfragen.
Sonst sind etwas genauere Angaben erforderlich was du machen willst
Gruß
Helmut
Antwort 2 von VBA_Anfänger
Hi!
Ein alte Problem von mir mit dem Autofilter.
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=">=" & Range("B8").Value, Operator:=xlAnd
Range("A24:F280").Select
Der gewählte Bereich soll anhand der Spalte F ab F24 gefiltert werden. Das Filterkriterium steht in B8.
Leider werden sowohl die positiven als auch die negativen Werte ausgegeben die größer sind als der Wert in B8.
Wen ich z.B +5 eingebe lieferte er mir auch die negativen Werte die größer als 5 sind.
Danke im Voraus
Gruß
Stefan
Ein alte Problem von mir mit dem Autofilter.
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=">=" & Range("B8").Value, Operator:=xlAnd
Range("A24:F280").Select
Der gewählte Bereich soll anhand der Spalte F ab F24 gefiltert werden. Das Filterkriterium steht in B8.
Leider werden sowohl die positiven als auch die negativen Werte ausgegeben die größer sind als der Wert in B8.
Wen ich z.B +5 eingebe lieferte er mir auch die negativen Werte die größer als 5 sind.
Danke im Voraus
Gruß
Stefan
Antwort 3 von Saarbauer
Hallo,
negative Werte sind immer kleiner als +5, desweiteren sehe ich es so, dass du hier nach Feld 1 filterst, also Spalte A und nich nach Feld 6 (Spalte F) und ob du es mit der Eingabe es beim Kriterium schaffst, habe ich Zweifel
da >= immer Werte oberhalb deiner Grenze liefert
Gruß
Helmut
negative Werte sind immer kleiner als +5, desweiteren sehe ich es so, dass du hier nach Feld 1 filterst, also Spalte A und nich nach Feld 6 (Spalte F) und ob du es mit der Eingabe es beim Kriterium schaffst, habe ich Zweifel
Zitat:
Criteria1:=">=" & Range("B8").Value
Criteria1:=">=" & Range("B8").Value
da >= immer Werte oberhalb deiner Grenze liefert
Gruß
Helmut
Antwort 4 von VBA_Anfänger
Hi!
Kennst du irgendwelchen Alternativen nennen bzw. wo könnte man sowas noch nachschauen?
Danke im Voraus
Gruß
AF
Kennst du irgendwelchen Alternativen nennen bzw. wo könnte man sowas noch nachschauen?
Danke im Voraus
Gruß
AF
Antwort 5 von Saarbauer
Hallo,
da muss ich dich auf AW 2 verweisen. Mit deinen Angaben kann ich mir nicht vorstellen was du erreichen willst oder was du vorhast.
Gruß
Helmut
da muss ich dich auf AW 2 verweisen. Mit deinen Angaben kann ich mir nicht vorstellen was du erreichen willst oder was du vorhast.
Gruß
Helmut
Antwort 6 von VBA_Anfänger
Hi!
Wen ich es folgendermaßen eingebe
If Range("B8").Value > 0 Then
Selection.AutoFilter Field:=1, Criteria1:=">=" & Range("B8").Value, Operator:=xlAnd
Else
Selection.AutoFilter Field:=1, Criteria1:="<=" & Range("B8").Value, Operator:=xlAnd
Er gibt mir richtiger werte aus bei eingabe eines positiven Wertes in B8 , nämlich nur positive Werte die größer sind, aber bei einer negativen Eingabe in B8 gibt er mir aber auch die negativen Werte an die größer sind z. B ich gebe -5, Ergebnis sollte sein -4; -2 etc und nicht auch -7, -8.
Danke im Voraus
Gruß
Stefan
Wen ich es folgendermaßen eingebe
If Range("B8").Value > 0 Then
Selection.AutoFilter Field:=1, Criteria1:=">=" & Range("B8").Value, Operator:=xlAnd
Else
Selection.AutoFilter Field:=1, Criteria1:="<=" & Range("B8").Value, Operator:=xlAnd
Er gibt mir richtiger werte aus bei eingabe eines positiven Wertes in B8 , nämlich nur positive Werte die größer sind, aber bei einer negativen Eingabe in B8 gibt er mir aber auch die negativen Werte an die größer sind z. B ich gebe -5, Ergebnis sollte sein -4; -2 etc und nicht auch -7, -8.
Danke im Voraus
Gruß
Stefan
Antwort 7 von Saarbauer
Hallo,
-2 ist matematisch gesehen größer als -5, daher müsste das nach der Formel
funktionieren, da möchtest du aber wahrscheinlich keine positiven Zahlen dabei haben. Somit müsstest du noch die Grenze < 0 einfügen.
Selection.AutoFilter Field:=1, Criteria1:="And( <0;>=" & Range("B8").Value & ")", Operator:=xlAnd
so etwa, Formel ist ungetestet
Gruß
Helmut
-2 ist matematisch gesehen größer als -5, daher müsste das nach der Formel
Zitat:
Selection.AutoFilter Field:=1, Criteria1:=">=" & Range("B8").Value, Operator:=xlAnd
Selection.AutoFilter Field:=1, Criteria1:=">=" & Range("B8").Value, Operator:=xlAnd
funktionieren, da möchtest du aber wahrscheinlich keine positiven Zahlen dabei haben. Somit müsstest du noch die Grenze < 0 einfügen.
Selection.AutoFilter Field:=1, Criteria1:="And( <0;>=" & Range("B8").Value & ")", Operator:=xlAnd
so etwa, Formel ist ungetestet
Gruß
Helmut
Antwort 8 von VBA_Anfänger
Hi!
Funktioniert leider nicht. Wie könnte man eine IF Funktion einbauen?
Danke im Voraus
Gruß
AF
Funktioniert leider nicht. Wie könnte man eine IF Funktion einbauen?
Danke im Voraus
Gruß
AF

