Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Problem bei If Anweisung
#1
Hallo zusammen,

hab ein Problem mit if-Anweisung und komme nicht weiter. Hier mein Code:
Code:
Private Sub TextBox10_Afterupdate()
    TextBox10.Value = Format(TextBox10.Value, "0.00")
    With frm_Depot
    If .TextBox13.Value <= -.TextBox10.Value Then TextBox14.Value "verkaufen"
    If .TextBox13.Value >= .TextBox10.Value Then TextBox14.Value "SL erhöhen"
    If .TextBox13.Value <> .TextBox10.Value Then TextBox14.Value "halten"
    End With
End Sub

Ziel soll sein, wenn wert in Textbox13 kleiner als wert in TextBox10 Minus dann trage in TextBox14 "verkaufen" ein. Bei Wert im Plus TB14 = "SL erhöhen" und wenn dazwischen TB14 ="halten".
Beispiel:
TB10 = 10
TB13 = MinusTB10 (-10) dann TB14 "verkaufen"
TB13 = PlusTB10 (+10) dann TB14 "SL erhöhen"
TB13 = zwischen beiden ersten Werten dann TB14 "halten"

Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken und bedanke mich für eure Hilfe schon mal im Voraus.
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#2
Hi Bernie,

die Bedingungen sind m.E. ja nicht eindeutig, da bei Gleichehit TB10 und TB13 laut deinen Bedingungen ja beides zutrifft. Du muß entscheiden, was bei Gleichheit passieren soll.

>= und <= geht nicht

Ich würde es mal so probieren

Code:
With frm_Depot
    If .TextBox13.Value < .TextBox10.Value Then TextBox14.Value "verkaufen"
    If .TextBox13.Value > .TextBox10.Value Then TextBox14.Value "SL erhöhen"
    Else
    TextBox14.Value "halten"
    End If
    End With
Mit freundlichen Grüßen  Smile
Michael

Win 7 64 bit / Excel 2007/2016
to top
#3
Hallo Michael,

Danke für deine Hilfe.

Leider erhalte ich eine Fehlermeldung "unzulässige Verwendung einer Eigenschaft" und zwar erste if-Zeile am Ende letztes "Value".

Wo kann der Fehler liegen?
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#4
Hallo,

eine Textbox enthält wie der Name schon sagt, Text. Du mußt diese noch in Zahlen umwandeln. Mal den Code von Michael erwweitert.

Code:
With frm_Depot
     If CDbl(.TextBox13.Value) < CDbl(.TextBox10.Value) Then TextBox14.Value "verkaufen"
     If CDbl(.TextBox13.Value) > CDbl(.TextBox10.Value) Then
        TextBox14.Value "SL erhöhen"
     Else
        TextBox14.Value "halten"
     End If
End With
Gruß Stefan
Win 7 / Office 2007
to top
#5
Hallo Stefan,

schön von dir zu hören. Habe deinen Vorschlag angewendet bekomme aber leider Fehlermeldung "Else ohne If".

Hab zwischenzeitlich ein wenig gebastelt und hier mein Code:
Code:
If CDbl(.TextBox13.Value) < -TextBox10 Then TextBox14.Text = "verkaufen"
    If CDbl(.TextBox13.Value) > TextBox10 Then TextBox14.Text = "SL erhöhen"
    If CDbl(.TextBox13.Value) < -TextBox10 and >= CDbl(.TextBox13.Value) > TextBox10 Then Textbox14.Text = "halten"

Zeile 1 und 2 funktionieren, wenn aber der Wert zwischen den beiden ersten liegt, komme ich nicht weiter.

Fällt dir dazu etwas ein?
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#6
Hallo,

irgendwie verstehe ich deine dritte Zeile nicht, wie da die Bedingungen sein sollen (nur mal als Text)
Code:
If CDbl(.TextBox13.Value) < CDbl(TextBox10) * -1 Then Textbox14.Text = "verkaufen"
     If CDbl(.TextBox13.Value) > CDbl(TextBox10) Then Textbox14.Text = "SL erhöhen"
     If CDbl(.TextBox13.Value) > CDbl(TextBox10) * -1 And CDbl(.TextBox13.Value) < TextBox10 Then Textbox14.Text = "halten"
Gruß Stefan
Win 7 / Office 2007
to top
#7
Hallo Stefan,

dein Vorschlag hat funktioniert. Danke!!!!!

Zitat:irgendwie verstehe ich deine dritte Zeile nicht

Angenommen der Wert in TB13 ist zwischen "-10" und "+10", dann soll in TB14 "halten" stehen. Die Werte +/- 10 können variabel sein, da sie aus der Eingabe der Textbox10 bestehen.

An der Börse nennt man das "Trailing Stop Loss" = Verluste minimieren und Gewinne maximieren.

Konnte ich dir das Ganze etwas näher bringen?
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top
#8
Hi Stefan,

(29.09.2014, 13:26)Steffl schrieb:
Code:
With frm_Depot
     If CDbl(.TextBox13.Value) < CDbl(.TextBox10.Value) Then TextBox14.Value "verkaufen"
     If CDbl(.TextBox13.Value) > CDbl(.TextBox10.Value) Then
        TextBox14.Value "SL erhöhen"
     Else
        TextBox14.Value "halten"
     End If
End With

fehlt da nicht noch ein "End If" vor dem zweiten "If" oder vor dem "End With"?
Gruß Ralf

?mage

Die deutsche Rechtschreibung ist Freeware, d.h. du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, deswegen darfst du sie nicht verändern oder in veränderter Form veröffentlichen.
to top
#9
Hallo Ralf,

warum sollte da ein End If fehlen?

Zitat:If CDbl(.TextBox13.Value) < CDbl(.TextBox10.Value) Then TextBox14.Value "verkaufen"

ist doch eine komplette Wenn Dann Abfrage. Und bei

Zitat: If CDbl(.TextBox13.Value) > CDbl(.TextBox10.Value) Then
TextBox14.Value "SL erhöhen"
Else
TextBox14.Value "halten"
End If

ist das End If vorhanden, oder?

Gruß
Marcus

Ich arbeite mit Excel 2003!

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.


?mage
to top
#10
Hallo Ihr Beiden,

ihr diskutiert über den falschen Code. Die Codezeile von Stefan, die mir geholfen hat, ist diese ...
Code:
If CDbl(.TextBox13.Value) > CDbl(TextBox10) * -1 And CDbl(.TextBox13.Value) < TextBox10 Then Textbox14.Text = "halten"

Wollte das nur höflich anmerken 50
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2010 Pro - Win 7 Home Premium
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Zähler mit If-Anweisung Owen490 6 168 21.09.2016, 17:31
Letzter Beitrag: shift-del
  If Anweisung funktioniert nur zweimal korrekt XLRalle 3 283 07.06.2016, 22:13
Letzter Beitrag: XLRalle
  WENN-DANN und MITTELWERT Anweisung mit Bezugszelle sonnyboy333 5 413 14.03.2016, 21:18
Letzter Beitrag: sonnyboy333
  If then Else anweisung cavok 10 1.414 19.06.2015, 07:39
Letzter Beitrag: cavok

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste