
Ich würde gerne wissen, ob es möglich ist, Excel wie einige der Online-Rechner funktionieren zu lassen, die ich gesehen habe. Zum Beispiel:
Der Hauptunterschied besteht darin, dass sie so konzipiert sind, dass jede „Zelle“ im Rechner erkennt, ob ein Wert eingegeben wurde. Anschließend berechnet sie ihren Wert abhängig von ihrer funktionalen Beziehung zu den anderen (oder nicht).
Dieses verwendet eine Schaltfläche „Berechnen“, es gibt jedoch auch Beispiele mit Live-Updates im Excel-Stil. Bei noch nicht ausreichenden Werten und/oder widersprüchlichen Werten wird dies normalerweise angegeben, es handelt sich jedoch (noch) nicht um eine wesentliche Funktion.
Ich habe versucht, ähnliches in Excel mit Bedingungen umzusetzen, aber ich finde, die Zelllogik wird zu komplexschnell. In meinem Fall hat es nicht geholfen, da die Werte im System, das ich löse (nicht das oben), aus verschiedenen Teilmengen von Eingaben berechnet werden können – man könnte sagen, es ist „überdefiniert“.
Verfügt Excel über eine Option oder einen Modus, mit dem sich diese Art von Schnittstelle schnell und einfach erstellen lässt?
Oder hat jemand etwas Ähnliches gebaut und wäre bereit, seine Tricks zu verraten?
Es dient lediglich meiner eigenen Produktivität (und der anderer, hoffe ich!), ich erwarte nicht, dass es online geht …
Antwort1
Dies kann wie folgt im Excel-Arbeitsblatt mit VB durchgeführt werden
Wir wissen, dass das Volumen eines Würfels = Länge * Breite * Höhe ist
Lassen Sie uns hierfür einen Rechner erstellen:
Gegeben sei eine beliebige 3, der 4. Wert muss gefunden werden
Excel-Arbeitsblatt erstellen
Geben Sie in A1, A2 und A3 Länge, Breite und Höhe ein. Lassen Sie A4 leer. Geben Sie in A5 das Volumen ein.
Erstellen Sie jetzt mithilfe der Symbolleiste eine Schaltfläche, klicken Sie mit der rechten Maustaste auf die Schaltfläche und ändern Sie den Text in „BERECHNEN“, um der Schaltfläche den gewünschten Namen zu geben.
Klicken Sie nun mit der rechten Maustaste auf die Schaltfläche und weisen Sie dieser Schaltfläche ein Makro zu. Erstellen Sie dazu den Befehl „Beim Klicken auf die Schaltfläche“ wie folgt:
Sub Button1_Click()
If Range("B1").Value = 0
Then Range("B1").Value = Range("B5").Value / Range("B3").Value / Range("B2").Value
If Range("B2").Value = 0
Then Range("B2").Value = Range("B5").Value / Range("B1").Value / Range("B3").Value
If Range("B3").Value = 0
Then Range("B3").Value = Range("B5").Value / Range("B2").Value / Range("B1").Value
If Range("B5").Value = 0
Then Range("B5").Value = Range("B1").Value * Range("B2").Value * Range("B3").Value
End Sub
Antwort2
Wie Sie festgestellt haben, kann dies mit Arbeitsblattzellen etwas schwierig sein.
Mit VBA ist das jedoch recht einfach. Der Code kann in einem Worksheet_Change-Ereignis enthalten sein, das so eingerichtet werden kann, dass es ausgelöst wird, wenn eine der vier Zellen geändert wird.
Die Logik ist einfach: Wenn genau drei Zellen einen Wert haben, ermitteln Sie, welche Zelle leer ist, führen Sie die Berechnung durch und tragen Sie das Ergebnis in diese Zelle ein.