27.07.2016, 14:46
Moin Leute,
ich brauche mal wieder eure Hilfe in Bezug auf die Berechnung der Zielerreichungsgrade [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Kurz vllt. zur Vorgehensweise:
In einer Eingabemaske kann man einen minimalen und einen maximalen Zielerreichungswert eingeben.
Beispiel: min. Zielerreichungsgrad von 50% = 200 und max. ZEG von 150% = 600.
Klickt man nun auf ok, wird zwei Zellen weiter links ein Wert entnommen (kann €, %, kg, etc. sein), der mit in die Berechnung mit einbezogen wird, um den Zielerreichungsgrad für diesen Wert auszugeben.
Am besten ich zeige kurz die Berechnung.
Code:
Die Funktion wird also auf Spalte 14 angewendet und in Spalte 12 werden Werte eingegeben, die sich auch ändern. Der Zielerreichungsgrad soll sich demnach immer anpassen.
Prinzipiell funktioniert die Formel, aber zwei Probleme bekomme ich nicht in den Griff. Hoffe, ich bekomme das halbwegs verständlich rüber [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
1. Ich möchte meinen Zielerreichungsgrad mit zwei Nachkommastellen angeben. Kommt jedoch ein rundes Ergebnis heraus, hängt er nicht ",00" an.
2. Jetzt zu dem größeren Problem... Sobald es sich um Prozentwerte handelt, haut er mir teilweise komplett falsche Werte raus. Bin mir nicht sicher, wie ich da weiter vorgehen soll. Irgendwie funktioniert es auch nicht, die Prozentwerte als General auszugeben. Das wäre auch nicht unbedingt meine Musterlösung. Am liebsten wäre mir, wenn ich egal in welchem Format, alle Berechnungen durchführen kann.
Für jeden Lösungsvorschlag bin ich sehr dankbar.
Beste Grüße
ich brauche mal wieder eure Hilfe in Bezug auf die Berechnung der Zielerreichungsgrade [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Kurz vllt. zur Vorgehensweise:
In einer Eingabemaske kann man einen minimalen und einen maximalen Zielerreichungswert eingeben.
Beispiel: min. Zielerreichungsgrad von 50% = 200 und max. ZEG von 150% = 600.
Klickt man nun auf ok, wird zwei Zellen weiter links ein Wert entnommen (kann €, %, kg, etc. sein), der mit in die Berechnung mit einbezogen wird, um den Zielerreichungsgrad für diesen Wert auszugeben.
Am besten ich zeige kurz die Berechnung.
Code:
Code:
Application.EnableEvents = True
If Target.Column = 14 Then
Target.Offset(0, 2).NumberFormat = "General"
Dim numericCheck As Boolean
numericCheck = IsNumeric(Target.Value)
If Target.NumberFormat = "0.00%" Then
currentValue = CDbl(Target.Value) * 100
Else
currentValue = Target.Value
End If
lowBorder = Target.Offset(0, 12) 'immer das 50% feld'
highBorder = Target.Offset(0, 13) 'immer das 150 % feld'
'wenn der minimale Erreichungsgrad die größere Zahl ist'
If lowBorder > highBorder Then
If currentValue <= highBorder Then
Target.Offset(0, 2) = "150 %"
ElseIf currentValue >= lowBorder Then
Target.Offset(0, 2) = "50 %"
Else
Target.Offset(0, 2) = Round(50 + 100 * ((lowBorder - currentValue) / (lowBorder - highBorder)), 2)
End If
End If
'wenn der maximale Erreichunggrad die größere zahl ist'
If lowBorder < highBorder Then
If currentValue >= highBorder Then
Target.Offset(0, 2) = "150 %"
ElseIf currentValue <= lowBorder Then
Target.Offset(0, 2) = "50 %"
Else
Target.Offset(0, 2) = Round(50 + 100 * ((lowBorder - currentValue) / (lowBorder - highBorder)), 2)
End If
End If
End If
End Sub
Die Funktion wird also auf Spalte 14 angewendet und in Spalte 12 werden Werte eingegeben, die sich auch ändern. Der Zielerreichungsgrad soll sich demnach immer anpassen.
Prinzipiell funktioniert die Formel, aber zwei Probleme bekomme ich nicht in den Griff. Hoffe, ich bekomme das halbwegs verständlich rüber [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
1. Ich möchte meinen Zielerreichungsgrad mit zwei Nachkommastellen angeben. Kommt jedoch ein rundes Ergebnis heraus, hängt er nicht ",00" an.
2. Jetzt zu dem größeren Problem... Sobald es sich um Prozentwerte handelt, haut er mir teilweise komplett falsche Werte raus. Bin mir nicht sicher, wie ich da weiter vorgehen soll. Irgendwie funktioniert es auch nicht, die Prozentwerte als General auszugeben. Das wäre auch nicht unbedingt meine Musterlösung. Am liebsten wäre mir, wenn ich egal in welchem Format, alle Berechnungen durchführen kann.
Für jeden Lösungsvorschlag bin ich sehr dankbar.
Beste Grüße