Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel für jede Zeile anwenden

Formel für jede Zeile anwenden
23.11.2022 09:51:16
Christoph
Hallo,
Ich habe folgendes Problem. Ich öffne eine Excel-Tabelle mit immer einer verschiedenen Anzahl von Zeilen und möchte aber in jeder Zeile eine Formel anwenden
=WENN(ISTLEER(Q2);0;1)
Also in AA2 heißt diese =WENN(ISTLEER(Q2);0;1)
in AA3 =WENN(ISTLEER(Q3);0;1)
in AA4 =WENN(ISTLEER(Q4);0;1)
usw....
Kann man in VBA diese Formel zu ausdrücken, das Sie immer für jede Zeile angewendet wird, egal um wie viele Zeilen es sich handelt?
Gruß
Chrischi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Formel für jede Zeile anwenden
23.11.2022 10:05:40
Oberschlumpf
Hi Christoph
wann genau soll denn in Spalte AA diese Formel (automatisch) eingetragen werden?
- Aktualisierung aller noch formelleeren Zellen in AA direkt nach Öffnen der Datei?
- sofortige Eintragung der Formel in AA direkt nach Eingabe in bestimmter anderer Zellen?
- oder wann?
Kannst du bitte per Upload eine Bsp-Datei mit Bsp-Daten zur Verfügung stellen? Zumindest ich tu mich immer schwer mit "Trockenübungen" ohne Bsp-Datei.
Ciao
Thorsten
Anzeige
AW: Formel für jede Zeile anwenden
23.11.2022 10:29:24
Oberschlumpf
Hi Christoph,
danke für die Datei - damit ist's gar nicht schwer, einen VBA-Code zu erstellen.
Deswegen bin ich auch jetzt schon fertig! :-)
hier, probier mal
https://www.herber.de/bbs/user/156343.xlsm
Hilfts?
Ciao
Thorsten
Anzeige
AW: Formel für jede Zeile anwenden
23.11.2022 11:09:16
Christoph
Hallo Thorsten,
das klappt super!! Ich danke Dir vielmals
Gruß
Christoph
AW: Formel für jede Zeile anwenden
23.11.2022 12:33:39
Daniel
Hi
In VBA nimmt man dann .FormulaR1C1, damit die Formel bei Relativen Zellbezügen in jeder Zelle gleich lautet.
Das entspricht der Z1S1-bezugsfertig, die du übrigens auch in Excel selbst anwenden kannst.
In den Optionen kann man das Umschalten.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Formel für jede Zeile anwenden in Excel


Schritt-für-Schritt-Anleitung

Um eine Excel-Formel für jede Zeile anzuwenden, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei: Stelle sicher, dass du die Datei geöffnet hast, für die die Formel angewendet werden soll.

  2. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deineDatei.xlsx)".
    • Wähle Einfügen > Modul.
  4. Füge den folgenden Code ein:

    Sub FormelAufAlleZeilenAnwenden()
       Dim letzteZeile As Long
       letzteZeile = Cells(Rows.Count, "Q").End(xlUp).Row
       For i = 2 To letzteZeile
           Cells(i, "AA").Formula = "=WENN(ISTLEER(Q" & i & ");0;1)"
       Next i
    End Sub
  5. Führe das Skript aus: Kehre zu Excel zurück und drücke ALT + F8, wähle FormelAufAlleZeilenAnwenden und klicke auf Ausführen.

Damit wird die Formel =WENN(ISTLEER(Q2);0;1) in jeder Zeile von Spalte AA angewendet, basierend auf den Werten in Spalte Q.


Häufige Fehler und Lösungen

  • Formel wird nicht angewendet: Stelle sicher, dass du die Datei im .xlsm-Format gespeichert hast, um Makros auszuführen.

  • Falsche letzte Zeile: Vergewissere dich, dass in Spalte Q tatsächlich Daten vorhanden sind. Verwende Cells(Rows.Count, "Q").End(xlUp).Row, um die letzte gefüllte Zelle korrekt zu ermitteln.

  • Formel zeigt Fehler an: Überprüfe, ob in den Zellen der Spalte Q leere Zellen vorhanden sind, die die Formel beeinflussen könnten.


Alternative Methoden

Wenn du keine VBA-Lösung nutzen möchtest, kannst du auch die folgende Methode verwenden:

  1. Formel in die erste Zeile eingeben: Gib =WENN(ISTLEER(Q2);0;1) in Zelle AA2 ein.

  2. Formel nach unten ziehen: Klicke auf die untere rechte Ecke der Zelle AA2 (das kleine Quadrat) und ziehe die Formel nach unten, um sie auf alle Zeilen anzuwenden.

  3. Doppelklick auf das Quadrat: Wenn in der Spalte Q Daten vorhanden sind, kannst du auch einfach doppelt auf das Quadrat klicken, um die Formel automatisch bis zur letzten gefüllten Zelle zu ziehen.


Praktische Beispiele

Hier sind ein paar praktische Beispiele, wie du die Formel auf mehrere Zeilen anwenden kannst:

  • Beispiel 1: Wenn du möchtest, dass die Formel auch auf Spalte AB angewendet wird, kannst du den VBA-Code anpassen:

    Cells(i, "AB").Formula = "=WENN(ISTLEER(Q" & i & ");0;1)"
  • Beispiel 2: Um die Bedingung zu ändern, kannst du die Formel in AA2 anpassen, zum Beispiel:

    =WENN(Q2>10; "Über 10"; "Unter oder gleich 10")

Tipps für Profis

  • Verwende .FormulaR1C1: Wenn du relative Zellbezüge verwenden möchtest, erwäge, .FormulaR1C1 anstelle von .Formula zu verwenden, um die Formel flexibler zu gestalten.

  • Arbeite mit geschützten Zellen: Wenn du bestimmte Zellen schützen musst, stelle sicher, dass die Zellen für die Eingabe der Formel entsprechend gesperrt oder freigegeben sind.

  • Zellen formatieren: Du kannst die Zellen in Spalte AA zweifarbig füllen, um die Ergebnisse visuell hervorzuheben. Gehe zu Start > Bedingte Formatierung > Neue Regel, um dies zu tun.


FAQ: Häufige Fragen

1. Wie kann ich die Formel auf die gesamte Spalte anwenden? Du kannst die Formel direkt in die erste Zelle eingeben und dann die Auto-Ausfüll-Funktion verwenden, um sie auf alle Zeilen anzuwenden.

2. Gibt es eine Möglichkeit, Zeilen auszublenden, wenn eine Bedingung erfüllt ist? Ja, du kannst eine Bedingte Formatierung verwenden oder VBA nutzen, um Zeilen auszublenden, wenn eine bestimmte Bedingung erfüllt ist, ohne VBA zu verwenden.

3. Wie kann ich die letzte gefüllte Zelle einer Spalte finden? Verwende den Befehl Cells(Rows.Count, "Q").End(xlUp).Row, um die letzte gefüllte Zelle in Spalte Q zu finden.

4. Welche Excel-Version benötige ich für diese Funktionen? Die beschriebenen Methoden sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige