Clever-Excel-Forum

Normale Version: Nach Abbrechen einer Inputbox Aktionen ausführen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
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.
Hi,

 If Einzahlung = "" Then Einzahlung =0


oder was für einen Wert du auch immer nehmen willst.
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.
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
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
 
 
Hallo Thomas

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

Mfg Guschti
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