Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vergleichsoperator erweitern

Vergleichsoperator erweitern
04.06.2008 12:17:29
christian
Hallo,
ich habe für eine Spalte folgende Plausibilisierung:
wenn der Folgewert größer-gleich 3 des Vorwertes ist, wird in der Folgezelle der Vorwert eingetragen.
Dafür habe ich folgenden Code:

Application.ScreenUpdating = False
Dim i As Long
Cells(3, 3).Value = Cells(3, 3).Value * 1   'Plausibilisierung für die Temperatur
For i = 3 To Range("C" & Rows.Count).End(xlUp).Row - 1
Cells(i + 1, 3).Value = Cells(i + 1, 3).Value * 1
If Abs(Cells(i + 1, 3).Value) >= 3 * Abs(Cells(i, 3).Value) Then _
Cells(i + 1, 3).Value = Cells(i, 3).Value
Next i
If Abs(Cells(i, 3).Value) >= 3 * Abs(Cells(i - 1, 3).Value) Then _
Cells(i, 3).Value = Cells(i - 1, 3).Value


Jetzt möchte zudem absichern das er ebenso den Vorwert einträgt, falls der Folgewert kleiner-gleich 3 des Vorwertes ist.
Was muss ich ändern?
christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleichsoperator erweitern
04.06.2008 13:56:10
christian
in der VBA-Hilfe hab ich etwas mit der ElseIf Bedingung gefunden, allerdings krieg ichs nicht hin.

AW: Vergleichsoperator erweitern
04.06.2008 13:57:00
fcs
Hallo Christian,
wenn die Temperatur-Werte in °Celsius angegeben sind hat deine Methode extreme Problem mit kleinen Werten um 0°C.
Da solltest du dann schon die Temperaturen in K angeben/umrechnen und den Faktor 3 runtersetzen. Dann sind negative Werte automatisch falsch und es wird erst in der Cryo-Technik bei der Verflüssigung von Wasserstoff und Helium nahe dem absoluten Temperatur 0-Punkt problematisch.
ggf. ist die Differenz zwischen zwei Messwerten das bessere Kriterium.
Gruß
Franz

Sub aaPlausib()
Application.ScreenUpdating = False
Dim i As Long
Cells(3, 3).Value = Cells(3, 3).Value * 1   'Plausibilisierung für die Temperatur
For i = 3 To Range("C" & Rows.Count).End(xlUp).Row - 1
Cells(i + 1, 3).Value = Cells(i + 1, 3).Value * 1
If Abs(Cells(i + 1, 3).Value) >= 3 * Abs(Cells(i, 3).Value) _
Or Abs(Cells(i + 1, 3).Value) * 3  30 Then
Cells(i + 1, 3).Value = Cells(i, 3).Value
End If
Next i
Application.ScreenUpdating = True
End Sub


Anzeige
Super Idee!
04.06.2008 14:17:00
christian
Das mit dem Differenzkriterium ist eine super Idee (schade das ich da nich drauf gekommen bin)
So funktionierts am besten. Danke!
christian

AW: Vergleich erweitern
04.06.2008 14:10:00
Luc:-?
Tja, Christian,
das soll einer verstehen...?! Wenn du bisher den Folgewert durch den Vorwert ersetzt, wenn er ≥ dem 3Fachen des Vorwerts ist, soll er nun auch dann durch den Vorwert ersetzt wdn, wenn er ≤ dem 3Fachen des Vorwerts ist? Dann ist die If-Konstruktion ja überflüssig und du kannst gleich den Vorwert übernehmen! Da machst du wohl einen Denkfehler! Dahingg würde &le 1/3 des Vorwertes sinnvoller sein.
Dazu könntest du dann auch ein If-Konstrukt der Art If ... Or ... Then ... benutzen.
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige