Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA: Lösung einer quadratischen Gleichung





Frage

Hallo an Alle! Ich bin's mal wieder, Melly. Ich versuche gerad mir mit Hilfe von VBA eine Funktion für das Lösen einer quadratischen Gleichung zu erstellen. Leider komme ich nicht wirklich voran, weil ich (noch) ziemlich wenig Ahnung von VBA habe. Hoffentlich kann mir hier jemand helfen. Die Grundlage für meine Funktion ist die Formel a2*x^2 + a1*x + a0 = 0 => x1,2 = -p/2 ± <wurzel (p/2)^2-q> mit p = a1/a2 q = a0/a2 Leider wusste ich nicht, wie man eine Wurzel darstellt, daher der Ausdruck <wurzel...> Ich würde gerne eine "UserForm" erstellen, in der die drei Eingabegrößen (a2, a1, a0) in Textfeldern eingegeben werden können und die beiden Ergebnisse (x1, x2) dann in anderen Textfeldern ausgegeben werden. Außerdem würde ich gerne sinnvolle Fehlermeldungen einbauen, z.B. wenn der Ausdruck unter der Wurzel kleiner Null ist, oder a2=0 ist. So...ich hoffe das war jetzt nicht zu viel und nicht zu kompliziert. Wenn doch, fragt einfach nach. Ich hoffe jemand hat eine Lösung für dieses Problem! Vielen Dank Gruß Melly

Antwort 1 von dieter@dv-infomax.de

Hallo Melly,
also angenommen du hast:
C15 als Eingabefeld für a0
C16 als Eingabefeld für a1
C17 als Eingabefeld für a2
und
C19 als Ausgabefeld für x1
C21 als Ausgabefeld für x2
dann eine Schaltfläche die das Makro Rechne_Click
aufruft,
dann schaut das Makro so aus:

Private Sub Rechne_Click()
a0 = Range("C15")
a1 = Range("C16")
a2 = Range("C17")
p = a1 / a2
q = a0 / a2
x1 = p / 2 - Sqr((p / 2) ^ 2) - q
x2 = p / 2 + Sqr((p / 2) ^ 2) - q
Range("C19") = x1
Range("C21") = x2
End Sub

Beste Grüsse, Dieter Reimann
PS, reich mir deine Mailadresse, dann schick ich die die Lösung mit ansprechendem Design.




Antwort 2 von Melanie

Hallo Dieter!
Vielen Dank erstmal für deinen Tip.

Hier meine e-mail: Melly.Ehlert@gmx.de

Ich würd mich sehr freuen, wenn du mir schreiben würdest.
Vielleicht könntest du mir auch erklären, wie ich die sub genau in Excel einfüge. Das hab ich bis jetzt noch nicht richtig hinbekommen.

Hast du noch eine Idee, wie man sinnvolle Fehlermeldungen erzeugen könnte?

Vielen Dank

Gruß
Melly


Antwort 3 von Melanie

Hallo!

Ich hab vergessen zu fragen, ob noch jemand einen Tip hat.

Mein eigentliches Ziel ist es, eine 'UserForm' zu erstellen.

Hoffentlich kann noch jemand helfen. Ich würd mich sehr freuen!!

Gruß
Melly

Antwort 4 von Melanie

Hallo!

Hat echt niemand mehr eine Idee?
Bitte denkt nochmal nach.

Vielen Dank
Gruß
Mellly