ich habe ein UserForm geschrieben, welcher 5 verschiedene Prozentwerte einlesen soll.
Aus diesen Werten wird anschließend ein neuer Wert berechnet.
Bei der Überprüfung will ich nun feststellen, ob es sich bei der Eingabe um eine Zahl handelt und das die Zahl nicht 100 ist.
Das mit dem 100 funktioniert auch und es wird die gewünschte Antwort zurückgegeben, leider passiert nichts, wenn ich Buchstaben eingebe, obwohl dann ebenfalls die von mir eingetragene Fehlermeldung auftauchen soll.
Als Fehler erhalte ich immer "Laufzeitfehler 13 Typen unverträglich". Ich habe auch schon .value anstatt .text ausprobiert. Funktioniert allerdings auch nicht =(
Hier der Code:
Private Sub Berechnen_Button_Click()
Dim Anteil_EK As Single
Dim KKS_Ek As Single
Dim Anteil_FK As Single
Dim KKS_FK As Single
Dim Steuervorteil As Single
Dim WACC As Single
'Werte als Variablen speichern
Anteil_EK = Anteil_EigenK.Text
KKS_Ek = Kapitalkostensatz_EK.Text
Anteil_FK = Anteil_FremdK.Text
KKS_FK = Kapitalkostensatz_FK.Text
Steuervorteil = Steuervorteil_FK.Text
If Not IsNumeric(Anteil_EigenK.Text) Or Anteil_EK 100 Then
Anteil_EigenK.Text = ""
MsgBox "Bitte geben Sie für den Eigenkapitalanteil eine positive Zahl ein, die nicht größer als 100 ist."
Exit Sub
End If
If Not IsNumeric(Kapitalkostensatz_EK.Text) Or KKS_Ek 100 Then
Kapitalkostensatz_EK.Text = ""
MsgBox "Bitte geben Sie für den Kapitalkostensatz des EK eine positive Zahl ein, die nicht größer als 100 ist."
Exit Sub
End If
If Not IsNumeric(Anteil_FremdK.Text) Or Anteil_FK 100 Then
Anteil_FremdK.Text = ""
MsgBox "Bitte geben Sie für den Fremdkapitalanteil eine positive Zahl ein, die nicht größer als 100 ist."
Exit Sub
End If
If Not IsNumeric(Kapitalkostensatz_FK.Text) Or KKS_FK 100 Then
Kapitalkostensatz_FK.Text = ""
MsgBox "Bitte geben Sie für den Kapitalkostensatz des FK eine positive Zahl ein, die nicht größer als 100 ist."
Exit Sub
End If
If Not IsNumeric(Steuervorteil_FK.Text) Or Steuervorteil 100 Then
Steuervorteil_FK.Text = ""
MsgBox "Bitte geben Sie für den Steuervorteil eine positive Zahl ein, die nicht größer als 100 ist."
Exit Sub
End If
WACC = Anteil_EK / 100 * KKS_Ek / 100 + Anteil_FK / 100 * KKS_FK / 100 * (1 - Steuervorteil / 100)
MsgBox WACC