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

Berechnung nur durchführen wenn Wert in Zelle

Forumthread: Berechnung nur durchführen wenn Wert in Zelle

Berechnung nur durchführen wenn Wert in Zelle
23.02.2016 10:26:11
Luisa
Liebe Community,
ich habe einen Code den ich gerne um eine Funktion ergänzen würde. Bei meinem Code wird eine Berechnung ausgeführt. Jedoch ist nicht in jeder Zeile im angegeben Bereich ein Wert hinterlegt.
Was natürlich zum Fehler #DIV/0! führt.

Public Sub Einsaetze_berechnen()
Cells(8, 11).FormulaR1C1 = "=(R4C5/12)/RC[-3]"
Cells(8, 12).FormulaR1C1 = "=RC[-1]/25"
Range("K8:L8").AutoFill Destination:=Range("K8:L44"), Type:=xlFillDefault
End Sub

Mein Ansatz war über eine Abfrage If…Then…Else, leider weiß ich da nicht wie ich meinen Bereich richtig anspreche...
Vielen Dank für eure Hilfe!
Die Luisa

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnung nur durchführen wenn Wert in Zelle
23.02.2016 10:30:46
Rudi
Hallo,
sinnigerweise in die Formel einbauen.
Cells(8, 11).FormulaR1C1 = "=if(rc[-3]0,(R4C5/12)/RC[-3],"""")"
Gruß
Rudi

AW: Berechnung nur durchführen wenn Wert in Zelle
23.02.2016 10:53:58
Luisa
Vielen Dank, da hab ich mit meiner Unwissenheit wieder viel zu kompliziert gedacht. Gibt es ein gutes Skript zum schreiben von Formeln in VBA?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Berechnung nur durchführen, wenn ein Wert in der Zelle vorhanden ist


Schritt-für-Schritt-Anleitung

Um Berechnungen in Excel nur dann durchzuführen, wenn tatsächlich ein Wert in der Zelle vorhanden ist, kannst Du die IF-Funktion in VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Public Sub Einsaetze_berechnen()
        Cells(8, 11).FormulaR1C1 = "=IF(RC[-3]<>0, (R4C5/12)/RC[-3], """")"
        Cells(8, 12).FormulaR1C1 = "=IF(RC[-1]<>0, RC[-1]/25, """")"
        Range("K8:L8").AutoFill Destination:=Range("K8:L44"), Type:=xlFillDefault
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Skript aus, um die Berechnungen in den Zellen durchzuführen.

Durch die Verwendung von IF wird die Berechnung nur dann durchgeführt, wenn die Zelle nicht leer ist. Ansonsten wird eine leere Zeichenkette zurückgegeben.


Häufige Fehler und Lösungen

  • Fehler #DIV/0!: Dieser Fehler tritt auf, wenn in einer der Zellen, auf die Du zugreifst, kein Wert oder ein Wert von 0 vorhanden ist. Stelle sicher, dass Du die IF-Abfrage korrekt implementierst.

  • Syntaxfehler: Achte darauf, dass die Formel korrekt geschrieben ist. Ein häufiges Problem ist das Fehlen von Klammern oder Anführungszeichen.


Alternative Methoden

Eine alternative Methode ist die Verwendung von Excel-Formeln direkt in den Zellen anstelle von VBA. Du kannst die folgende Formel in Zelle K8 eingeben:

=IF(K4<>0, (E4/12)/K4, "")

Diese Formel führt eine ähnliche Überprüfung durch, indem sie den Wert in K4 überprüft. Wenn K4 0 oder leer ist, wird eine leere Zeichenkette zurückgegeben.


Praktische Beispiele

Angenommen, Du hast in Zelle E4 einen Wert und in K4 einen Wert, den Du für die Berechnung verwenden möchtest. Mit der oben genannten VBA-Methode oder der Excel-Formel kannst Du sicherstellen, dass Du nur dann Berechnungen durchführst, wenn K4 einen gültigen Wert enthält.

Cells(8, 12).FormulaR1C1 = "=IF(RC[-1]<>0, RC[-1]/25, """")"

In diesem Beispiel wird nur dann eine Division durch 25 durchgeführt, wenn der Wert in der benachbarten Zelle (RC[-1]) nicht 0 ist.


Tipps für Profis

  • Nutze ElseIf, um mehrere Bedingungen zu überprüfen, wenn Du komplexe Berechnungen durchführen musst.
  • Halte Deinen Code sauber und dokumentiere wichtige Teile, um die Wartung zu erleichtern.
  • Teste Deinen Code regelmäßig, um sicherzustellen, dass er in verschiedenen Szenarien funktioniert.

FAQ: Häufige Fragen

1. Frage: Was mache ich, wenn ich immer noch den Fehler #DIV/0! bekomme? Stelle sicher, dass alle Zellen, auf die Du zugreifst, gültige Werte enthalten. Überprüfe die Bedingungen in Deinen IF-Formeln.

2. Frage: Kann ich diese Methode auch in anderen Excel-Versionen verwenden? Ja, die oben genannten Methoden funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2016, 2019 und Microsoft 365.

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