Wert wird von InputBox nicht richtig übergeben
#1
Hallo!

Ich habe folgendes Problem. Ich gebe in einer InputBox (Einzahlung) einen Wert ein, nur wenn ich z.B. 50,01 eingebe, wird diese nicht richtig in die bestimmte Zeile geschrieben, dass damit weitergerechnet werden kann. Er schreibt mir zwar 50,01 in die Zelle, aber kann damit nicht weiter rechnen. Erst wenn ich in die Zelle klicke und Enter Taste drücke, wandelt er den Wert richtig um. Wenn ich aber in der Inputbox 50.01 eingebe, funktioniert es, dass damit nachher richtig weiter gerechnet werden kann.
Ich hoffe, dass mir jemand weiterhelfen kann.


Anbei mein aktueller Code:

Code:
Private Sub Worksheet_Activate()
Dim gewinn  As Double
  Dim prozent As Double
  Dim prozentseitAbschluss As Double
  Dim wert    As Variant
  Dim Einzahlung    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("ING ARIA - ING Global Index") '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 diese eingeben: ", "Eingabeaufforderung © by Biggi & Tommy")
   
  With Worksheets("ING ARIA - ING Global Index")
       If Einzahlung = "" Then
           Else
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 1).Formula = Date
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 2).Formula = "Einzahlung"
       End If
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 3).Formula = Einzahlung
       
       wert = InputBox("Bitte neuen Wert eingeben: " & String(2, vbNewLine) & _
       "alter Wert: € " & alterWert & " vom " & alterWertDatum & String(1, vbNewLine) & _
       GewinnVerlust & " € " & alterGewinn & String(1, vbNewLine) & _
       alterProzentmitheutigemTag & " % mit heutigem Tag" & String(1, vbNewLine) & _
       alterProzentseitAbschluss & " % seit Abschluss" & String(2, vbNewLine) & _
       "höchster Gewinn: € " & höchsterGewinn & " " & höchsterGewinnDatum & String(1, vbNewLine) & _
       "höchster Prozentsatz: " & höchsterProzent & " " & höchsterProzentDatum & String(1, vbNewLine) & _
       "höchster Prozentsatz: " & höchsterProzentseitAbschluss & " " & höchsterProzentseitAbschlussDatum & "", "Eingabeaufforderung © by Biggi & Tommy")

       If wert = "" Then Exit Sub
       
       .Range("E3").Value = CDbl(wert)
       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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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
         
  Sheets("Übersicht").Activate
         
  End Sub
 
 
Excel Version 2016
Top
#2
Moin!
Bisken viel Code für die simple Frage, gelle?

Deine InputBox-Funktion liefert Text, der zunächst per IsNumeric() geprüft und dann per CDbl() umgewandelt werden muss.

Nutze statt dessen die Application.InputBox-Methode!
Die besitzt nämlich den Parameter Type:=

Schaue mal in die Hilfe:
https://msdn.microsoft.com/de-de/vba/exc...thod-excel

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#3
Hallo!

Danke sehr für die rasche Antwort. Es geht mir lediglich um die erste InputBox.
Ich habe mir nur den Link von dir angesehen und den Code für die erste Inputbox wie folgt verändert, was aber leider mein Problem noch immer nicht löst:

Code:
Einzahlung = Application.InputBox(prompt:="Wurde eine neue Einzahlung verbucht? Wenn ja, dann bitte diese eingeben:", Type:=1)
Ich habe auch schon wo gelesen, dass man eigentlich mit CDbl den Text in eine Zahl umwandeln soll. Dies mache ich auch bei meiner zweiten Inputbox, nur wenn ich das bei meiner ersten Inputbox mache, kommt immer von VBA die Fehlermeldung, dass der Typ unverträglich ist.
Ich hoffe, dass du mir nochmals weiterhelfen kannst.
LG
Excel Version 2016
Top
#4
Hallo noch einmal!

Ich habs jetzt doch zusammen gebracht, dass der eigegebene Wert die Zahl richtig in die Zelle hineinschreibt, damit auch nachher damit gerechnet werden kann.
Nun habe ich aber aufgrund dieser Anpassung ein anderes Problem. Wenn ich nun den Abbrechen Button drücke, befüllt er mir trotzdem die Zellen A, B und C, was er eigentlich nicht machen dürfte. Dies darf er nur, wenn ich einen Wert in die Inputbox eingebe. Zu beachten ist auch, dass wenn ich bei der ersten Inputbox auf abbrechen klicke, dass danach trotzdem die zweite Inputbox erscheinen muss.

Anbei nun mein neuer Code:

Code:
Private Sub Worksheet_Activate()
Dim gewinn  As Double
  Dim prozent As Double
  Dim prozentseitAbschluss As Double
  Dim wert    As Variant
  Dim Einzahlung    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("ING ARIA - ING Global Index") '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 = Application.InputBox(prompt:="Wurde eine neue Einzahlung verbucht? Wenn ja, dann bitte diese eingeben:", Type:=1)
   
       With Worksheets("ING ARIA - ING Global Index")
       If Einzahlung = "" Then
           Else
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 1).Formula = Date
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 2).Formula = "Einzahlung"
       End If
       .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 3).Formula = Einzahlung

       wert = InputBox("Bitte neuen Wert eingeben: " & String(2, vbNewLine) & _
       "alter Wert: € " & alterWert & " vom " & alterWertDatum & String(1, vbNewLine) & _
       GewinnVerlust & " € " & alterGewinn & String(1, vbNewLine) & _
       alterProzentmitheutigemTag & " % mit heutigem Tag" & String(1, vbNewLine) & _
       alterProzentseitAbschluss & " % seit Abschluss" & String(2, vbNewLine) & _
       "höchster Gewinn: € " & höchsterGewinn & " " & höchsterGewinnDatum & String(1, vbNewLine) & _
       "höchster Prozentsatz: " & höchsterProzent & " " & höchsterProzentDatum & String(1, vbNewLine) & _
       "höchster Prozentsatz: " & höchsterProzentseitAbschluss & " " & höchsterProzentseitAbschlussDatum & "", "Eingabeaufforderung © by Biggi & Tommy")

       If wert = "" Then Exit Sub
       
       .Range("E3").Value = CDbl(wert)
       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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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
         
  Sheets("Übersicht").Activate
         
  End Sub
 
 
Excel Version 2016
Top
#5
Hallo,

teste mal

Code:
Private Sub Worksheet_Activate()
   Dim gewinn  As Double
   Dim prozent As Double
   Dim prozentseitAbschluss As Double
   Dim wert    As Variant
   Dim Einzahlung    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("ING ARIA - ING Global Index") '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 = Application.InputBox(prompt:="Wurde eine neue Einzahlung verbucht? Wenn ja, dann bitte diese eingeben:", Type:=1)
   With Worksheets("ING ARIA - ING Global Index")
      If Einzahlung = False Then
      Else
         .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 1).Formula = Date
         .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 2).Formula = "Einzahlung"
         .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row + 1, 3).Formula = Einzahlung
      End If
      
      wert = InputBox("Bitte neuen Wert eingeben: " & String(2, vbNewLine) & _
      "alter Wert: € " & alterWert & " vom " & alterWertDatum & String(1, vbNewLine) & _
      GewinnVerlust & " € " & alterGewinn & String(1, vbNewLine) & _
      alterProzentmitheutigemTag & " % mit heutigem Tag" & String(1, vbNewLine) & _
      alterProzentseitAbschluss & " % seit Abschluss" & String(2, vbNewLine) & _
      "höchster Gewinn: € " & höchsterGewinn & " " & höchsterGewinnDatum & String(1, vbNewLine) & _
      "höchster Prozentsatz: " & höchsterProzent & " " & höchsterProzentDatum & String(1, vbNewLine) & _
      "höchster Prozentsatz: " & höchsterProzentseitAbschluss & " " & höchsterProzentseitAbschlussDatum & "", "Eingabeaufforderung © by Biggi & Tommy")
      
      If wert = "" Then Exit Sub
      
      .Range("E3").Value = CDbl(wert)
      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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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 seit der letzten Aktualisierung " & 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
  
   Sheets("Übersicht").Activate
          
End Sub

Übrigens hast Du nicht deklarierte Variablen, weist Variablen Objekte zu, benutzt sie aber nicht, deine Einrückungen sind auch nicht optimal.
Gruß Stefan
Win 10 / Office 2016
Top
#6
Super danke, du hast mir sehr geholfen. Jetzt funktioniert es genauso, wie ich es mir vorgestellt habe.
Excel Version 2016
Top


Gehe zu:


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