Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nach Abbrechen einer Inputbox Aktionen ausführen
#1
Hallo!

Ich habe folgendes Problem. Ich gebe in einer Inputbox einen Wert ein. Daraufhin werden dann Werte in bestimmte Zellen geschrieben und mehrere MessageBoxes erscheinen. Wenn ich aber nun bei der Inputbox auf Abbrechen klicke, tut er nichts, weil ich im Code "If Einzahlung = "" Then Exit Sub" hinterlegt habe. Daraufhin dachte ich mir, gebe ich diese Zeile einfach weg. Leider kommt dann bei der Codestelle ".Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 3).Formula = CDbl(Einzahlung)" folgende Fehlermeldung, wenn ich nun in der Inputbox auf Abbrechen klicke:

Typen unverträglich

Anbei einmal mein ganzer Code:

Code:
Private Sub Worksheet_Activate()
Dim gewinn  As Double
  Dim prozent As Double
  Dim prozentseitAbschluss As Double
  Dim wert    As Variant
  alterWert = Cells(3, 9)
  alterGewinn = Cells(8, 3)
  GewinnVerlust = Cells(5, 4)
  alterProzentseitAbschluss = Cells(7, 3)
  alterWertDatum = Cells(3, 4)
  alterProzentmitheutigemTag = Cells(6, 3)
  alterWertGewinnVerlust = Cells(11, 5)
  höchsterGewinn = Cells(8, 10)
  höchsterGewinnDatum = Cells(8, 6)
  höchsterProzentseitAbschluss = Cells(10, 10)
  höchsterProzentseitAbschlussDatum = Cells(9, 9)
  höchsterProzent = Cells(9, 10)
  höchsterProzentDatum = Cells(8, 9)
 
  Dim sh As Worksheet
  Set sh = Sheets("Comgest Growth Greater China") 'hier deinen Tabellennamen anpassen
  Dim lr As Integer
  Dim i As Integer              ' immer alle Variablen deklarieren
  Dim fehlendeMonate As Integer ' immmer mit Option explicit arbeiten
   
   
  Einzahlung = InputBox("Wurde eine neue Einzahlung verbucht? Wenn ja, dann bitte neuen Wert eingeben: ", "Eingabeaufforderung © by Biggi & Tommy")
 
  If Einzahlung = "" Then Exit Sub
   
  With Worksheets("Fidelity Funds Global (Anspar)")
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 1).Formula = Date
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 3).Formula = CDbl(Einzahlung)
       gewinn = .Range("E5").Value
       prozent = .Range("h5").Value
       prozentseitAbschluss = .Range("h6").Value
       .Range("d3").Value = Date
       DifferenzGewinnkleiner = .Range("M8").Value
       GewinnVerlust1 = Cells(5, 4)
       höchsterVerlustniedrigsterGewinnWert = .Range("E11")
       höchsterVerlustniedrigsterGewinn = .Range("D11")
       höchsterVerlustniedrigsterGewinnDatum = .Range("G11")
           
   
     If gewinn > .Range("e8").Value And prozent > Range("h8").Value Then
         .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
         DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - alterProzentmitheutigemTag
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         .Range("A4").Value = prozent - höchsterProzent
         DifferenzhöchsterProzentLetzterhöchsterProzent = .Range("B4")
         .Range("A5").Value = prozentseitAbschluss - höchsterProzentseitAbschluss
         DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss = .Range("B5").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Neuer höchster Gewinn von € " & höchsterGewinn1 & ", welcher um € " & DifferenzGewinngrößer & " höher ist, als der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & String(1, vbNewLine) & _
         "€ " & alterGewinn & ", welcher am " & alterWertDatum & " war.", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
         
     
     Else
     
     If gewinn > .Range("e8").Value And prozentseitAbschluss > Range("h9").Value Then
         .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - alterProzentmitheutigemTag
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         .Range("A5").Value = prozentseitAbschluss - höchsterProzentseitAbschluss
         DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss = .Range("B5").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Neuer höchster Gewinn von € " & höchsterGewinn1 & ", welcher um € " & DifferenzGewinngrößer & " höher ist, als der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & String(1, vbNewLine) & _
         "€ " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
         "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % " & String(1, vbNewLine) & _
         "(" & DifferenzProzentLetzterProzent & " %).", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
     
             
     Else
     
     If gewinn > .Range("e8").Value Then
         .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - alterProzentmitheutigemTag
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Neuer höchster Gewinn von € " & höchsterGewinn1 & ", welcher um € " & DifferenzGewinngrößer & " höher ist, als der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & " € " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
         "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % (" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
                 
         Else
         
         If gewinn = .Range("e8").Value Then
          .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - .Range("B6").Value
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Der derzeitige " & GewinnVerlust1 & " € " & höchsterGewinn1 & " ist gleich hoch, wie der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war." & String(1, vbNewLine) & _
         "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % (" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
       
     End If
               
     End If
     
     End If
     
     End If
     
   
   If gewinn < .Range("e8").Value And höchsterGewinn = 0 Then
          DatumgrößerGewinn = .Range("F8").Value
          .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
          .Range("A2").Value = prozent - alterProzentmitheutigemTag
          DifferenzProzentLetzterProzent = .Range("B2").Value
          .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
          DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
          alterProzentmitheutigemTag1 = Cells(7, 10)
          alterProzentseitAbschluss1 = Cells(6, 10)
          MsgBox "Der derzeitige Verlust beträgt € " & Format(Range("$E$5"), "#,##0.00") & ", bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & " € " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
          "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % " & String(1, vbNewLine) & _
          "(" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
          .Range("B8").Value = gewinn
          .Range("B6").Value = prozent
          .Range("B7").Value = prozentseitAbschluss

   Else
   
   If gewinn < .Range("e8").Value Then
          DatumgrößerGewinn = .Range("F8").Value
          .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
          .Range("A2").Value = prozent - alterProzentmitheutigemTag
          DifferenzProzentLetzterProzent = .Range("B2").Value
          .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
          DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
          alterProzentmitheutigemTag1 = Cells(7, 10)
          alterProzentseitAbschluss1 = Cells(6, 10)
          MsgBox "Der derzeitige " & GewinnVerlust1 & " € " & Format(Range("$E$5"), "#,##0.00") & " beträgt um € " & DifferenzGewinnkleiner & " weniger, als der höchste Gewinn von € " & höchsterGewinn & ", welcher " & DatumgrößerGewinn & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & " € " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
          "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % " & String(1, vbNewLine) & _
          "(" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
          .Range("B8").Value = gewinn
          .Range("B6").Value = prozent
          .Range("B7").Value = prozentseitAbschluss
         
       End If
       End If
         
         
    If .Range("E5").Value > 0 And .Range("E11").Value = "" Then
       .Range("D11").Value = "niedrigster Gewinn:"
       .Range("E11").Value = .Range("E5").Value
       .Range("F11").Value = "am " & Date
       .Range("H11").Value = prozent
       .Range("I11").Value = "% mit Stichtag " & Date
       .Range("H12").Value = prozentseitAbschluss
       .Range("I12").Value = "% am " & Date & " seit Abschluss"
   End If
   
   
   If .Range("E5").Value > 0 And .Range("E11").Value < .Range("E5").Value Then
       
       Else
     
   If .Range("E5") < 0 And .Range("E5").Value < alterWertGewinnVerlust Then
       .Range("D11").Value = "höchster Verlust"
       .Range("E11").Value = .Range("E5").Value
       .Range("F11").Value = "am " & Date
       .Range("H11").Value = prozent
       .Range("I11").Value = "% mit Stichtag " & Date
       .Range("H12").Value = prozentseitAbschluss
       .Range("I12").Value = "% am " & Date & " seit Abschluss"
       höchsterVerlustniedrigsterGewinnWert1 = .Range("E11")
       .Range("A9").Value = höchsterVerlustniedrigsterGewinnWert1 - höchsterVerlustniedrigsterGewinnWert
       DifferenzhöchsterVerlustniedrigsterGewinnWert = .Range("B9").Value
       MsgBox "ACHTUNG: Dein Verlust wird immer höher. Dein neuer höchster Verlust beträgt € " & Format(höchsterVerlustniedrigsterGewinnWert1, "#,##0.00") & ", welcher um € " & DifferenzhöchsterVerlustniedrigsterGewinnWert & " höher ist, als dein letzter " & höchsterVerlustniedrigsterGewinn & " von " & String(1, vbNewLine) & _
       "€ " & Format(höchsterVerlustniedrigsterGewinnWert, "#,##0.00") & ", welcher am " & höchsterVerlustniedrigsterGewinnDatum & " war."
       .Range("G11").Value = Date
       
       Else
   
   If .Range("E5") > 0 And Range("E5").Value < alterWertGewinnVerlust Then
       .Range("D11").Value = "niedrigster Gewinn"
       .Range("E11").Value = .Range("E5").Value
       .Range("F11").Value = "am " & Date
       .Range("H11").Value = prozent
       .Range("I11").Value = "% mit Stichtag " & Date
       .Range("H12").Value = prozentseitAbschluss
       .Range("I12").Value = "% am " & Date & " seit Abschluss"
       höchsterVerlustniedrigsterGewinnWert1 = .Range("E11")
       .Range("A9").Value = höchsterVerlustniedrigsterGewinnWert1 - höchsterVerlustniedrigsterGewinnWert
       DifferenzhöchsterVerlustniedrigsterGewinnWert = .Range("B9").Value
       MsgBox "ACHTUNG: Dein Gewinn wird immer weniger. Dein neuer niedrigster Gewinn beträgt € " & Format(höchsterVerlustniedrigsterGewinnWert1, "#,##0.00") & ", welcher um € " & DifferenzhöchsterVerlustniedrigsterGewinnWert & " weniger ist, als dein letzter niedrigster " & String(1, vbNewLine) & _
       "Gewinn von € " & Format(höchsterVerlustniedrigsterGewinnWert, "#,##0.00") & ", welcher am " & höchsterVerlustniedrigsterGewinnDatum & " war."
       .Range("G11").Value = Date
               
   End If
   End If
   End If

   
    If prozent > Range("h8").Value Then
        .Range("h8").Value = prozent
        .Range("i8").Value = "% mit Stichtag " & Date
        höchsterProzent = .Range("J9").Value
        DifferenzhöchsterProzentLetzterhöchsterProzent = .Range("B4")
        MsgBox "Neuer höchster Prozentsatz von " & höchsterProzent & " % (" & DifferenzhöchsterProzentLetzterhöchsterProzent & " %)!", vbInformation, "Achtung! © by Biggi & Tommy"
       
         End If
         
             
       If prozentseitAbschluss > Range("h9").Value Then
         .Range("h9").Value = prozentseitAbschluss
         .Range("i9").Value = "% am " & Date & " seit Abschluss"
         höchsterProzentseitAbschluss = .Range("J10").Value
         DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss = .Range("B5").Value
         MsgBox "Neuer höchster Prozentsatz seit Abschluss von " & höchsterProzentseitAbschluss & " % (" & DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss & " %)!", vbInformation, "Achtung! © by Biggi & Tommy"
       
                End If
          End With
  End Sub
 
 
Ich hoffe, dass mir jemand helfen kann.
LG
Thomas
Excel Version 2016
Antworten Top
#2
Hab das Problem soeben selbst gelöst, ich habe einfach in der Codestelle ".Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 3).Formula = CDbl(Einzahlung) "CDbl" weggelassen und dann funktioniert es.
Excel Version 2016
Antworten Top
#3
Hi,

 If Einzahlung = "" Then Einzahlung =0


oder was für einen Wert du auch immer nehmen willst.
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#4
Hallo noch einmal!

Ich möchte noch einmal dieses Thema aufgreifen, weil es leider doch noch nicht so richtig funktioniert.
Wenn ich einen Betrag in der Input eingeben, tragt er diesen auch richtig ein. Wenn ich nun aber auf abbrechen klicke, tragt er mir das heutige Datum und 0 ein, was ich aber nicht will. Ich will, dass er gar keine Werte einträgt, sondern einfach nur abbricht, aber trotzdem noch die Messageboxes nachher anzeigt.
Ich hoffe, dass mir jemand helfen kann.
Excel Version 2016
Antworten Top
#5
Hallo Thomas

http://www.herber.de/forum/archiv/1080to...ml#1081314
Ändere die Zeile
Code:
If Einzahlung = "" Then Exit Sub
in
Code:
If StrPtr(Einzahlung) = 0 Then Exit Sub
Mfg Guschti
Der Künstler lebt auch vom Applaus
Excel Optimaler Zuschnitt von Stangen/Balken - YouTube
Antworten Top
#6
Hallo!

Danke sehr für deinen Input. Dieser Code löst aber leider auch nicht mein Problem. Er bricht einfach nach dem Abbrechen Button komplett ab, was ich ja nicht will.
Ich habe es nun mit einer zusätzlichen IF Lösung
Code:
If Einzahlung = "" Then
       Else
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 1).Formula = Date
       End If
zusammen gebracht, hier nun mein vollständiger Code, somit geht er dann auch nachher in die anderen If Schleifen und die Messageboxen erscheinen:

Code:
Private Sub Worksheet_Activate()
Dim gewinn  As Double
  Dim prozent As Double
  Dim prozentseitAbschluss As Double
  Dim wert    As Variant
  alterWert = Cells(3, 9)
  alterGewinn = Cells(8, 3)
  GewinnVerlust = Cells(5, 4)
  alterProzentseitAbschluss = Cells(7, 3)
  alterWertDatum = Cells(3, 4)
  alterProzentmitheutigemTag = Cells(6, 3)
  alterWertGewinnVerlust = Cells(11, 5)
  höchsterGewinn = Cells(8, 10)
  höchsterGewinnDatum = Cells(8, 6)
  höchsterProzentseitAbschluss = Cells(10, 10)
  höchsterProzentseitAbschlussDatum = Cells(9, 9)
  höchsterProzent = Cells(9, 10)
  höchsterProzentDatum = Cells(8, 9)
 
  Dim sh As Worksheet
  Set sh = Sheets("Comgest Growth Greater China") 'hier deinen Tabellennamen anpassen
  Dim lr As Integer
  Dim i As Integer              ' immer alle Variablen deklarieren
  Dim fehlendeMonate As Integer ' immmer mit Option explicit arbeiten
   
   
  Einzahlung = InputBox("Wurde eine neue Einzahlung verbucht? Wenn ja, dann bitte neuen Wert eingeben: ", "Eingabeaufforderung © by Biggi & Tommy")
   
  With Worksheets("Fidelity Funds Global (Anspar)")
       If Einzahlung = "" Then
       Else
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 1).Formula = Date
       End If
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 3).Formula = Einzahlung
       gewinn = .Range("E5").Value
       prozent = .Range("h5").Value
       prozentseitAbschluss = .Range("h6").Value
       .Range("d3").Value = Date
       DifferenzGewinnkleiner = .Range("M8").Value
       GewinnVerlust1 = Cells(5, 4)
       höchsterVerlustniedrigsterGewinnWert = .Range("E11")
       höchsterVerlustniedrigsterGewinn = .Range("D11")
       höchsterVerlustniedrigsterGewinnDatum = .Range("G11")
           
   
     If gewinn > .Range("e8").Value And prozent > Range("h8").Value Then
         .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
         DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - alterProzentmitheutigemTag
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         .Range("A4").Value = prozent - höchsterProzent
         DifferenzhöchsterProzentLetzterhöchsterProzent = .Range("B4")
         .Range("A5").Value = prozentseitAbschluss - höchsterProzentseitAbschluss
         DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss = .Range("B5").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Neuer höchster Gewinn von € " & höchsterGewinn1 & ", welcher um € " & DifferenzGewinngrößer & " höher ist, als der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & String(1, vbNewLine) & _
         "€ " & alterGewinn & ", welcher am " & alterWertDatum & " war.", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
         
     
     Else
     
     If gewinn > .Range("e8").Value And prozentseitAbschluss > Range("h9").Value Then
         .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - alterProzentmitheutigemTag
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         .Range("A5").Value = prozentseitAbschluss - höchsterProzentseitAbschluss
         DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss = .Range("B5").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Neuer höchster Gewinn von € " & höchsterGewinn1 & ", welcher um € " & DifferenzGewinngrößer & " höher ist, als der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & String(1, vbNewLine) & _
         "€ " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
         "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % " & String(1, vbNewLine) & _
         "(" & DifferenzProzentLetzterProzent & " %).", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
     
             
     Else
     
     If gewinn > .Range("e8").Value Then
         .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - alterProzentmitheutigemTag
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Neuer höchster Gewinn von € " & höchsterGewinn1 & ", welcher um € " & DifferenzGewinngrößer & " höher ist, als der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & " € " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
         "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % (" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
                 
         Else
         
         If gewinn = .Range("e8").Value Then
          .Range("e8").Value = gewinn
         .Range("f8").Value = "am " & Date
         höchsterGewinn1 = .Range("J8").Value
         .Range("L9").Value = gewinn - höchsterGewinn
         DifferenzGewinngrößer = .Range("M9").Value
         .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
         .Range("A2").Value = prozent - .Range("B6").Value
         DifferenzProzentLetzterProzent = .Range("B2").Value
         .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
         DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
         alterProzentmitheutigemTag1 = Cells(7, 10)
         alterProzentseitAbschluss1 = Cells(6, 10)
         MsgBox "Der derzeitige " & GewinnVerlust1 & " € " & höchsterGewinn1 & " ist gleich hoch, wie der alte höchste Gewinn von € " & höchsterGewinn & ", welcher " & höchsterGewinnDatum & " war." & String(1, vbNewLine) & _
         "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % (" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
         .Range("B8").Value = gewinn
         .Range("B6").Value = prozent
         .Range("B7").Value = prozentseitAbschluss
       
     End If
               
     End If
     
     End If
     
     End If
     
   
   If gewinn < .Range("e8").Value And höchsterGewinn = 0 Then
          DatumgrößerGewinn = .Range("F8").Value
          .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
          .Range("A2").Value = prozent - alterProzentmitheutigemTag
          DifferenzProzentLetzterProzent = .Range("B2").Value
          .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
          DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
          alterProzentmitheutigemTag1 = Cells(7, 10)
          alterProzentseitAbschluss1 = Cells(6, 10)
          MsgBox "Der derzeitige Verlust beträgt € " & Format(Range("$E$5"), "#,##0.00") & ", bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & " € " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
          "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % " & String(1, vbNewLine) & _
          "(" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
          .Range("B8").Value = gewinn
          .Range("B6").Value = prozent
          .Range("B7").Value = prozentseitAbschluss

   Else
   
   If gewinn < .Range("e8").Value Then
          DatumgrößerGewinn = .Range("F8").Value
          .Range("A1").Value = gewinn - alterGewinn
          DifferenzGewinnLetzterGewinn = .Range("B1").Value
          .Range("A2").Value = prozent - alterProzentmitheutigemTag
          DifferenzProzentLetzterProzent = .Range("B2").Value
          .Range("A3").Value = prozentseitAbschluss - alterProzentseitAbschluss
          DifferenzProzentseitAbschlussLetzterProzentseitAbschluss = .Range("B3").Value
          alterProzentmitheutigemTag1 = Cells(7, 10)
          alterProzentseitAbschluss1 = Cells(6, 10)
          MsgBox "Der derzeitige " & GewinnVerlust1 & " € " & Format(Range("$E$5"), "#,##0.00") & " beträgt um € " & DifferenzGewinnkleiner & " weniger, als der höchste Gewinn von € " & höchsterGewinn & ", welcher " & DatumgrößerGewinn & " war, bzw. ist er " & DifferenzGewinnLetzterGewinn & " der letzte " & GewinnVerlust & " € " & alterGewinn & ", welcher am " & alterWertDatum & " war." & String(1, vbNewLine) & _
          "Der derzeitige Prozentsatz beträgt mit heutigem Tag " & alterProzentmitheutigemTag1 & " % " & String(1, vbNewLine) & _
          "(" & DifferenzProzentLetzterProzent & " %), bzw. " & alterProzentseitAbschluss1 & " % (" & DifferenzProzentseitAbschlussLetzterProzentseitAbschluss & " %) seit Abschluss.", vbInformation, "Achtung! © by Biggi & Tommy"
          .Range("B8").Value = gewinn
          .Range("B6").Value = prozent
          .Range("B7").Value = prozentseitAbschluss
         
       End If
       End If
         
         
    If .Range("E5").Value > 0 And .Range("E11").Value = "" Then
       .Range("D11").Value = "niedrigster Gewinn:"
       .Range("E11").Value = .Range("E5").Value
       .Range("F11").Value = "am " & Date
       .Range("H11").Value = prozent
       .Range("I11").Value = "% mit Stichtag " & Date
       .Range("H12").Value = prozentseitAbschluss
       .Range("I12").Value = "% am " & Date & " seit Abschluss"
   End If
   
   
   If .Range("E5").Value > 0 And .Range("E11").Value < .Range("E5").Value Then
       
       Else
     
   If .Range("E5") < 0 And .Range("E5").Value < alterWertGewinnVerlust Then
       .Range("D11").Value = "höchster Verlust"
       .Range("E11").Value = .Range("E5").Value
       .Range("F11").Value = "am " & Date
       .Range("H11").Value = prozent
       .Range("I11").Value = "% mit Stichtag " & Date
       .Range("H12").Value = prozentseitAbschluss
       .Range("I12").Value = "% am " & Date & " seit Abschluss"
       höchsterVerlustniedrigsterGewinnWert1 = .Range("E11")
       .Range("A9").Value = höchsterVerlustniedrigsterGewinnWert1 - höchsterVerlustniedrigsterGewinnWert
       DifferenzhöchsterVerlustniedrigsterGewinnWert = .Range("B9").Value
       MsgBox "ACHTUNG: Dein Verlust wird immer höher. Dein neuer höchster Verlust beträgt € " & Format(höchsterVerlustniedrigsterGewinnWert1, "#,##0.00") & ", welcher um € " & DifferenzhöchsterVerlustniedrigsterGewinnWert & " höher ist, als dein letzter " & höchsterVerlustniedrigsterGewinn & " von " & String(1, vbNewLine) & _
       "€ " & Format(höchsterVerlustniedrigsterGewinnWert, "#,##0.00") & ", welcher am " & höchsterVerlustniedrigsterGewinnDatum & " war."
       .Range("G11").Value = Date
       
       Else
   
   If .Range("E5") > 0 And Range("E5").Value < alterWertGewinnVerlust Then
       .Range("D11").Value = "niedrigster Gewinn"
       .Range("E11").Value = .Range("E5").Value
       .Range("F11").Value = "am " & Date
       .Range("H11").Value = prozent
       .Range("I11").Value = "% mit Stichtag " & Date
       .Range("H12").Value = prozentseitAbschluss
       .Range("I12").Value = "% am " & Date & " seit Abschluss"
       höchsterVerlustniedrigsterGewinnWert1 = .Range("E11")
       .Range("A9").Value = höchsterVerlustniedrigsterGewinnWert1 - höchsterVerlustniedrigsterGewinnWert
       DifferenzhöchsterVerlustniedrigsterGewinnWert = .Range("B9").Value
       MsgBox "ACHTUNG: Dein Gewinn wird immer weniger. Dein neuer niedrigster Gewinn beträgt € " & Format(höchsterVerlustniedrigsterGewinnWert1, "#,##0.00") & ", welcher um € " & DifferenzhöchsterVerlustniedrigsterGewinnWert & " weniger ist, als dein letzter niedrigster " & String(1, vbNewLine) & _
       "Gewinn von € " & Format(höchsterVerlustniedrigsterGewinnWert, "#,##0.00") & ", welcher am " & höchsterVerlustniedrigsterGewinnDatum & " war."
       .Range("G11").Value = Date
               
   End If
   End If
   End If

   
    If prozent > Range("h8").Value Then
        .Range("h8").Value = prozent
        .Range("i8").Value = "% mit Stichtag " & Date
        höchsterProzent = .Range("J9").Value
        DifferenzhöchsterProzentLetzterhöchsterProzent = .Range("B4")
        MsgBox "Neuer höchster Prozentsatz von " & höchsterProzent & " % (" & DifferenzhöchsterProzentLetzterhöchsterProzent & " %)!", vbInformation, "Achtung! © by Biggi & Tommy"
       
         End If
         
             
       If prozentseitAbschluss > Range("h9").Value Then
         .Range("h9").Value = prozentseitAbschluss
         .Range("i9").Value = "% am " & Date & " seit Abschluss"
         höchsterProzentseitAbschluss = .Range("J10").Value
         DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss = .Range("B5").Value
         MsgBox "Neuer höchster Prozentsatz seit Abschluss von " & höchsterProzentseitAbschluss & " % (" & DifferenzhöchsterProzentseitAbschlussLetzterhöchsterProzentseitAbschluss & " %)!", vbInformation, "Achtung! © by Biggi & Tommy"
       
                End If
          End With
  End Sub
 
 
Excel Version 2016
Antworten Top
#7
Hallo Thomas

Wenn du nicht auf Exit Sub gehen willst, dann versuch es mit GOTO

Mfg Guschti
Der Künstler lebt auch vom Applaus
Excel Optimaler Zuschnitt von Stangen/Balken - YouTube
Antworten Top
#8
Hi,

kann man das nicht auch so schreiben:
Code:
'
       If Einzahlung <> "" Then
          .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 1).Formula = Date
       End If
Antworten Top


Gehe zu:


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