Anzeige
Archiv - Navigation
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

IsNumeric+Empty in if, then Anweisung?

IsNumeric+Empty in if, then Anweisung?
21.05.2008 10:40:35
Jessica
Hallo,
ich habe 3 Textfelder die Bestandteile einer Formel sind. Diese Werten dürfen nur numerischer Natur sein. Beim Auslösen des CMD-Buttons soll geprüft werden, ob
a) alle Eingaben numerisch sind
b) überhaupt Werte vorhanden sind
hier mein Ansatz, aber gibt es dafür eine elegantere Lösung?

Private Sub cmd_AD_Click()
If IsNumeric(tb_ea1__tb_AD) _
And IsNumeric(tb_A1__tb_AD) _
And IsNumeric(tb_R1__tb_AD) _
And tb_ea1__tb_AD.Value = Empty _
Or tb_A1__tb_AD.Value = Empty _
Or tb_R1__tb_AD.Value = Empty Then
MsgBox ("Bitte geben Sie Werte ein usw.")
Else
If IsNumeric(tb_ea1__tb_AD) _
And IsNumeric(tb_A1__tb_AD) _
And IsNumeric(tb_R1__tb_AD) Then
A1_ADurch = tb_A1__tb_AD.Value
R1_ADurch = tb_R1__tb_AD.Value
amortisationsdauer = (A1_ADurch - R1_ADurch) / ea1_ADurch
'Text_Amortisationsdauer.Caption = amortisationsdauer
Text_Amortisationsdauer.Caption = amortisationsdauer
cmd_AD.Visible = False
FR_AmortisationsdauerOK.Visible = True
Else
MsgBox ("Bitte geben Sie Werte ein usw.")
End If
End If
End Sub


Ein weiteres Problem:
Wie löst man am Besten den Umgang mit nicht auflösbaren Rechnungen, d.h. Division durch 0.
Bsp. ea1_ADurch = 0, ist zwar ein Wert, kann aber nicht Ausdruck durch 0 teilen.
?
Für Rückmeldungen wäre ich dankbar.
LG

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IsNumeric+Empty in if, then Anweisung?
21.05.2008 11:02:00
Mac4
Hallo Jessica,
Du könntest bereits bei der Eingabe in die Textboxen Fehler unterbinden - folgendes Ereignis für jede Textbox hinterlegen:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Prüft jedes eingegebe Zeichen
Select Case KeyAscii
Case 48 To 57
Case Else
KeyAscii = 0
MsgBox "Bitte nur Zahlen eingeben!", vbCritical
End Select
End Sub


Matc

AW: andere Möglichkeit
21.05.2008 11:12:00
Chris
Servus Jessica,
du kannst es auch wie in der Beispieldatei machen:
https://www.herber.de/bbs/user/52506.xls
Gruß
Chris

Anzeige
AW: andere Möglichkeit
21.05.2008 11:44:00
Jessica
Hallo ihr beiden,
habe die version von chris in meine userform eingearbeitet, genau so hab ich mir's vorgestellt. weitaus eleganter gelöst als mein versuch. danke euch beiden!
LG

AW: andere Möglichkeit
21.05.2008 20:37:00
Gerd
Hallo Jessica!
If (A1_ADurch - R1_ADurch) * ea1_ADurch = 0 then
Msgbox "keine gültigen Berechnungswerte!"
Exit sub
End if
Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige