Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Nur Werte einer Formel in Zellen eintragen lassen

Nur Werte einer Formel in Zellen eintragen lassen
15.07.2019 16:29:36
David
Hallo zusammen,
ich habe zwei Formeln, wobei die erste in D4:D126 stehen soll und die zweite direkt daneben in E4:E126.
In den Formeln habe ich jeweils die Zelle durch ein X ersetzt.
Die erste Formel in D ist: =wenn(Cx=Bx;"-";Cx-Bx)
Die zweite Formel in E ist: =wenn(istfehler(Dx/Bx);"-";Dx/Bx)
Nun zu meiner Frage:
Die Idee ist, dass die beiden Formeln für die Angegebenen Zellen in VBA hinterlegt werden, jedoch nur nachher in den Zellen die einzelnen Werte der Formel stehen.
Das Problem ist, wenn ich z.B.
Cells(i, 4).Value = Cells(i, 3).Value - Cells(i, 2).Value nehme,
dass in den Zellen B und C davor oftmals entweder irgendein Text steht, diese leer sind oder 2x eine 0 drin steht.
LG
David
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Werte einer Formel in Zellen eintragen lassen
15.07.2019 16:44:34
Daniel
HI
am einfachsten ist, wenn du per VBA zuerst die Formeln in die Zellen schreibst und hinterher die Formeln durch Werte ersetzt.
dann haben während der Berechnung auftretende Fehler keinen Einfluss auf dein Makro:
With Range("D4:E126")
.Columns(1).FormulaR1C1 = "=IF(RC3=RC2,""-"",RC3-RC2)"
.Columms(2).FormulaR1C1 = "=IF(ISERROR(RC4/RC2,""-"",RC4/RC2)"
.Formula = .Value
End with
Gruß Daniel
Anzeige
AW: Nur Werte einer Formel in Zellen eintragen lassen
15.07.2019 17:02:25
David
Hallo Daniel,
vielen Dank! Funktioniert wunderbar!
Hast du mir noch eine Möglichkeit, in die ganze Formel noch eine Formatierung einzubauen?
Als Beispiel:
In Zelle E5 steht ein Wert von -20%
Wenn der durch die zweite Formel berechnete Wert über oder unter 5% beträgt, soll die entsprechende Zelle in welcher der Wert steht bis vor zu Spalte A rot markiert werden, sprich in meinem Beispiel Zelle A5 bis E5 rot markieren.
LG
David
Anzeige
AW: Nur Werte einer Formel in Zellen eintragen lassen
15.07.2019 17:10:31
Daniel
Hi
das würde ich über die bedingte Formatierung regeln.
die erstellst du aber besser von Hand, ganz normal.
Gruß Daniel
AW: Nur Werte einer Formel in Zellen eintragen lassen
15.07.2019 20:14:57
David
Hi,
prinzipiell möglich wäre das aber über VBA oder? Und wenn ja, wie aufwendig wäre denn die ganze Geschichte?
LG
David
AW: Nur Werte einer Formel in Zellen eintragen lassen
16.07.2019 11:42:50
Daniel
HI
wäre auch mit VBA möglich
du musst halt nach einfügen der Werte mit einer Schleife über die Zellen laufen, den Wert prüfen und dann die Zellen färben.
also im Prinzip etwa so:
With Range("D4:E126")
.Columns(1).FormulaR1C1 = "=IF(RC3=RC2,""-"",RC3-RC2)"
.Columms(2).FormulaR1C1 = "=IF(ISERROR(RC4/RC2,""-"",RC4/RC2)"
.Formula = .Value
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
End with

Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Öffne den Visual Basic-Editor: Drücke ALT + F11.

  2. Erstelle ein neues Modul: Klicke auf Einfügen > Modul.

  3. 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
  4. 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:

  1. Schreibe die Formeln in die Zellen.
  2. Wähle die Zellen mit den Formeln aus.
  3. Kopiere die Zellen (Strg + C).
  4. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige