Werte aus Formeln in Excel Zellen übertragen
Schritt-für-Schritt-Anleitung
Um Werte aus Formeln in Excel-Zellen zu übernehmen, kannst du VBA verwenden. Folge diesen Schritten:
-
Öffne den Visual Basic-Editor: Drücke ALT + F11
.
-
Erstelle ein neues Modul: Klicke auf Einfügen
> Modul
.
-
Füge den folgenden Code ein:
Sub WerteUebernehmen()
With Range("D4:E126")
.Columns(1).FormulaR1C1 = "=IF(RC3=RC2,""-"",RC3-RC2)"
.Columns(2).FormulaR1C1 = "=IF(ISERROR(RC4/RC2),""-"",RC4/RC2)"
.Value = .Value
End With
End Sub
-
Führe das Makro aus: Drücke F5
oder gehe zurück zu Excel und führe das Makro aus.
Dieser Code schreibt die Formeln in die Zellen und ersetzt sie anschließend durch die berechneten Werte. Achte darauf, dass du die Excel-Version hast, die VBA unterstützt.
Häufige Fehler und Lösungen
-
Fehler: "Typen unverträglich"
Lösung: Stelle sicher, dass die Zellen, auf die verwiesen wird, keine Texte oder nicht numerischen Werte enthalten.
-
Fehler: "Falsche Formel"
Lösung: Überprüfe, ob die Formel korrekt eingegeben wurde, insbesondere die Zellreferenzen.
Alternative Methoden
Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die Funktion "Werte einfügen" nutzen:
- Schreibe die Formeln in die Zellen.
- Wähle die Zellen mit den Formeln aus.
- Kopiere die Zellen (Strg + C).
- Klicke mit der rechten Maustaste auf die Zielzellen und wähle "Inhalte einfügen" > "Werte".
Diese Methode ist manuell, aber einfach und benötigt keine Programmierung.
Praktische Beispiele
Hier ist ein Beispiel, wie du die Werte in D und E berechnen und dann in die angrenzenden Zellen übertragen kannst:
- Formel in D4:
=WENN(C4=B4;"-";C4-B4)
- Formel in E4:
=WENN(ISTFEHLER(D4/B4);"-";D4/B4)
Nach dem Ausführen des VBA-Codes oder der manuellen Methode siehst du die Werte anstelle der Formeln.
Tipps für Profis
-
Automatisierung: Du kannst das Makro so anpassen, dass es automatisch bei jedem Öffnen der Arbeitsmappe ausgeführt wird.
-
Bedingte Formatierung: Wenn du zusätzlich die Zellen farblich hervorheben möchtest, kannst du den VBA-Code erweitern. Eine einfache Schleife könnte so aussehen:
For Each Zelle In .Columns(2).Cells
If Abs(Zelle.Value) >= 0.05 Then
Zelle.Offset(0, -4).Resize(, 5).Interior.Color = vbRed
End If
Next
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass nur Werte und keine Formeln in den Zellen stehen?
Durch die Verwendung der .Value
-Eigenschaft im VBA-Code wird die Formel durch den berechneten Wert ersetzt.
2. Kann ich die Formatierung der Zellen ebenfalls über VBA anpassen?
Ja, du kannst die Zellen formatieren, indem du zusätzliche VBA-Befehle hinzufügst, um zum Beispiel die Schriftfarbe oder den Hintergrund zu ändern.