Supportnet Computer
Planet of Tech

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

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

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
Zitat:
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

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

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

Antwort 7 von Saarbauer

Hallo,

-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

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