wie muss der Code lauten, wenn ich in der Spalte E einen Eintrag mache (egal in welcher Reihe), dass dann in der Spalte F direkt daneben eine Formel geschrieben wird? Z.B. E1+D1
Lieben Dank für eure Hilfe
Gruß Tina
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Count = 1 Then
Application.EnableEvents = False
Target.Offset(, 1).FormulaR1C1 = "=rc[-2]+rc[-1]"
Application.EnableEvents = True
End If
End Sub
Um in Excel eine Formel automatisch in der Zelle rechts neben einem Eintrag in Spalte E zu platzieren, kannst Du VBA (Visual Basic for Applications) verwenden. Folge diesen Schritten:
Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu starten.
Wähle im Projekt-Explorer das Arbeitsblatt aus, auf dem Du die Automatisierung einrichten möchtest.
Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then
If Target.Count = 1 Then _
Cells(Target.Row, 6).Formula = "=E" & Target.Row & "+D" & Target.Row
End If
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Jetzt wird jedes Mal, wenn Du einen Eintrag in Spalte E machst, automatisch die Formel =E1+D1 in Spalte F eingefügt.
Fehler: Die Formel wird nicht eingetragen.
Lösung: Stelle sicher, dass Du den Code im richtigen Arbeitsblatt-Modul eingegeben hast. Der Code muss im Modul des spezifischen Arbeitsblatts stehen, nicht im allgemeinen Modul.
Fehler: Die Berechnung funktioniert nicht.
Lösung: Überprüfe, ob die Berechnung in Excel auf "Automatisch" eingestellt ist. Gehe zu Formeln > Berechnungsoptionen und stelle sicher, dass "Automatisch" ausgewählt ist.
Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch eine Formel manuell in Spalte F einfügen, die auf die Werte in Spalte E und D verweist. Zum Beispiel:
=E1+D1 eingeben.Diese Methode ist jedoch nicht so dynamisch wie die VBA-Lösung.
Hier sind einige praktische Beispiele für den Einsatz der VBA-Lösung:
=E2+D2 eingetragen, was das Ergebnis 15 ergibt.Cells(Target.Row, 6).Formula.Application.EnableEvents = False, um zu verhindern, dass das Worksheet_Change-Ereignis rekursiv ausgelöst wird, während Du die Formel setzt.1. Was ist VBA?
VBA steht für Visual Basic for Applications und ist die Programmiersprache, die in Microsoft Office-Anwendungen verwendet wird, um automatisierte Aufgaben durchzuführen.
2. Ist VBA in allen Excel-Versionen verfügbar?
Ja, VBA ist in allen gängigen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.
3. Kann ich die automatisierte Formel auch für andere Spalten verwenden?
Ja, Du kannst den VBA-Code anpassen, um Formeln für andere Spalten zu erstellen, indem Du die Target.Column-Bedingung änderst.