Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1552to1556
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
Inhaltsverzeichnis

Problem mit if anweisung

Problem mit if anweisung
10.04.2017 10:07:39
Snoopy
Hi,
ich habe folgendes Problem:
Ich möchte unterschiedlichen Stückpreisen einen bestimmten wert geben. Dafür hae ich in einer Userform ein Textfeld angelegt in welches man den Preis einträgt. Mit einem Klick auf ein Befehlsfeld in der Userform wird dann das Makro gestartet bei dem dann unter anderem auch der eingegebene Preis bewertet werden soll. Hier ein Auszug aus meinem Code der das betrifft:
If txtPreis Preis = 5
ElseIf txtPreis >= "100" & txtPreis Preis = 4
ElseIf txtPreis >= "500" And txtPreis Preis = 3
ElseIf txtPreis >= "1000" And txtPreis Preis = 2
ElseIf txtPreis >= "5000" Then
Preis = 1
End If
Für Werte unter 100 und über 5000 funktioniert das auch einwandfrei, wenn ich jetzt z.B 300 angebe, wo eigentlich 4 ausgegeben werde sollte, kommt aber die 2´. Das passiert bei allen werten zwischen 100 und 5000. Das Makro wählt also nicht den korrekten Zahlenbereich aus sondern nimmt anscheinend nur das kleiner Zeichen.
Kann mir hier eventuell weiterhelfen?
Gruß SD

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit if anweisung
10.04.2017 10:20:08
EtoPHG
Hallo Snoopy,
Du musst unterscheiden zwischen "String" und Zahlen, darum
    Dim Preis As Integer
Dim zahlPreis As Double
zahlPreis = CDbl(txtPreis)
Select Case zahlPreis
Case Is 

Gruess Hansueli
AW: Problem mit if anweisung
10.04.2017 11:25:28
Snoopy
Perfekt so funktioniert es.
Danke
Eine Sache wäre da noch, wenn ich den Preis nicht kenne und deshalb nichts eingebe soll Preis=0 sein.
Gibt es dafür m double Format eine Möglichkeit oder muss ich
case is = 0: Preis = 0 nehmen.
hier müsste man halt immer eine null reinschreiben, was ja nicht stimmt, da der Preis eigentlich nicht null ist.
Anzeige
AW: Problem mit if anweisung
10.04.2017 11:30:27
EtoPHG
Hallo Snoopy,
Ja und zwar als erste Case Anweisung vor der jetztigen ersten
...
Case 0: Preis = 0
Case Is 

Gruess Hansueli
AW: Problem mit if anweisung
10.04.2017 12:11:40
Snoopy
ok danke nochmal für die Hilfe
AW: Problem mit if anweisung
10.04.2017 22:52:41
Gerd
Hallo,
noch einer.
Dim Preis As Integer
Dim zahlPreis As Double
If IsNumeric(txtPreis) Then zahlPreis = CDbl(txtPreis)
Preis = Application.Match(zahlPreis, Array(9 ^ 9, 4999.99, 999.99, 499.99, 99.99, 0), -1) Mod 6
Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige