Automatisches Multiplizieren bei Eingabe bei Excel

Ist es möglich bei Excel, dass sich eine Zelle automatisch mit einem Wert aus einer anderen Zelle multipliziert, ohne dass eine Formel eingetragen werden muss?

Uhr
Nein, das ist nicht möglich. Eine Excel-Zelle kann nicht gleichzeitig als Text und Zahl formatiert werden was hier der Fall wäre. Es braucht eine zusätzliche Zelle ´ in der das Ergebnis angezeigt wird ` wenn dort die entsprechende Formel hinterlegt ist. Es ist jedoch nicht notwendig » die Formel jedes Mal wieder neu einzugeben « allerdings nur einmalig festzulegen und dann zu kopieren. Um beispielsweise den Wert in Zelle E5 mit dem Wert in Zelle B5 zu multiplizieren und dies für alle Zahlen von E5 bis T5 durchzuführen, sollte der Bezug auf die Zelle B5 absolut sein, also $B$5. Die Formel kann dann in alle Zellen kopiert werden. Es ist jedoch zu beachten ´ dass eine zusätzliche Spalte erforderlich ist ` um das Ergebnis anzuzeigen.

Es ist ebenfalls möglich die Berechnung automatisch ausführen zu lassen jedoch das Ergebnis kann nur in einer anderen Zelle angezeigt werden, beispielsweise direkt daneben. Excel benötigt eine Anweisung was ebendies gemacht werden soll. Entweder muss die Formel jedes Mal neu eingegeben oder kopiert werden. Wenn die Rechenoperation immer mit dem Wert in Zelle B5 durchgeführt werden soll, muss ein fester Bezug hergestellt werden, indem das "$"-Zeichen vorangestellt wird, zum Beispiel "xx*$B$5". Dadurch wird die Berechnung mit dem Wert aus B5 durchgeführt.

Es gibt jedoch eine Möglichkeit, dies mit VBA (Visual Basic for Applications) zu automatisieren. Ein VBA-Code kann in das Modul des gewünschten Tabellenblattes eingefügt werden um die gewünschte Funktionalität zu erreichen. Der Code würde in den "Worksheet_Change"-Bereich eingefügt werden und sicherstellen, dass die Änderungen in den Zellen E5 bis T5 erkannt und die Multiplikation mit dem Wert in B5 durchgeführt wird. Der Code sieht wie folgt aus:

Private Sub Worksheet_Change(ByVal Target As Range)
'Prüfen, ob die geänderte Zelle im Bereich E5:T5 liegt und sowie der Wert in B5 als auch der neue Wert eine Zahl sind
If Not Intersect(Target, Me.Range("E5:T5")) Is Nothing And IsNumeric(Target.Value) And IsNumeric(Me.Range("B5").Value) Then
'Selbstauslöser verhindern
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'Multiplikation
Target.Value = Target.Value * Me.Range("B5").Value
'Einstellungen zurücksetzen
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End If
End Sub

Dieser Code prüft ob die geänderte Zelle im Bereich E5 bis T5 liegt und ob sowohl der Wert in B5 als auch der neue Wert in der geänderten Zelle Zahlen sind. Wenn dies der Fall ist – wird die Multiplikation durchgeführt und das Ergebnis in der geänderten Zelle angezeigt.






Anzeige