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

Forumthread: Zellen löschen wenn Bedingung erfüllt ist

Zellen löschen wenn Bedingung erfüllt ist
Kathi
Hallo zusammen,
zunächst einmal vielen Dank für die vielen tollen Beiträge, die mir schon sehr weitergeholfen haben. Leider stehe ich derzeit vor folgendem Problem (versuche, mich kurz zu fassen):
- habe Fragebogen erstellt, der in Excel eingegeben wird (Optionsfelder)
- insgesamt gibt es 30 dieser Fragebögen; alle sind mit einer Ausgabedatei verknüpft,
- im FB werden 4 Themenbereiche abgefragt, jeder Themenbereich erhält pro Fragebogen einen Punktwert
- dieser Punktwert sorgt über bedingte Formatierung dafür, dass ein bestimmtes Thema (d. FB´s) grün, gelb oder rot wird
- so wird für jeden Fragebogen ein kleines Kärtchen erstellt, das neben einem eingetragenen Namen vier mehr oder weniger farbig dargestellte Felder enthält
- im FB wird neben den 4 Themen auch noch ein qualitatives Merkmal erfasst (Schulbildung)
- eine Variante der Ausgabe soll eine Matrix sein, in der die Kärtchen in Abhängigkeit zur Schulbildung (Abi, Fachabi,...) entsprechend angeordnet werden.
Bis inkl. des vorletzten Spiegelstrichs habe ich soweit alles fertig verformelt, verknüpft und formatiert. Was ich absolut nicht hinbekomme: Die Kärtchen sollen sich in der Matrix automatisch bspw. nach ganz oben setzen, wenn bei Schulbildung Abitur ausgewählt wurde. Wenn dieses Merkmal (Abi) lediglich bei FB 1 und 30 ausgewählt wurde, dann sollen die beiden Kärtchen dennoch nebeneinander stehen.
Derzeit habe ich die Kärtchen alle nebeneinander, d.h.: 10 Kärtchen für Abitur (sortiert nach FB 1 bis 30), darunter 10 für Fachabi, usw. Übrigens: Kennt jemand die Ursache dafür, dass sich ein bedingtes Format verselbständigt und "ausgelöst" wird, obwohl die Bedingung gar nicht da ist?
Hier ist die Datei (stark gekürzt; die Eingaben für jeden Fragebogen werden eigentlich in je separaten Dateien gemacht): https://www.herber.de/bbs/user/69850.xls
Ich gehe davon aus, dass folgende VBA-Programmierung nötig ist (so stelle ich mir das zumindest in meinem Laien-Hirn vor): Wenn ein bestimmtes Ereignis wahr ist (oder wenn eine bestimmte Bedingung erfüllt ist), dann sollen bestimmte Zellen gelöscht werden (wirklich gelöscht, nicht nur leer).
Weil ich von VBA keine Ahnung habe: Makros kann man ja nicht rückgängig machen, wie sieht es mit VBA aus? Es könnte nämlich sein, dass jemand insgsamt 5 FB ausfüllt, sich die Ausgabe-Datei anschaut und bemerkt, dass er einen FB vergessen hat. Angenommen, man bekäme es hin, besagte Zellen (s.o.) zu löschen, ist es möglich, dass der Fragebogen-Eingeber (, der absolut kein Experte ist) nachträglich noch einen Bogen ausfüllt und das Kärtchen dieses Bogens dann auch noch in die Matrix reinkommt?
Wenn jemand diese doch sehr lang geratenen Ausführungen verstanden hat (...), wäre ich über jede Hilfe wirklich sehr dankbar. Meine Excel-Kenntnisse sind ok (mittel bis ok...), mit VBA hab ich noch nie gearbeitet. Das, woran ich derzeit arbeite, soll ein wirklich gutes Instrument werden, das anderen Firmen zur Datenerhebung und -auswertung zur Verfügung gestellt werden soll. Es muss also alles super funktionieren. Ist dieses Vorhaben realistisch oder soll lieber der Profi ran?
Viele Grüße
Kathi
Anzeige

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

Betreff
Benutzer
Anzeige
richtiger Link!!!Zellen löschen wenn Bedingung....
02.06.2010 10:46:08
Kathi
Hoch noch einmal,
bitte entschuldigt die ganzen Einträge: Hier der richtige Link
https://www.herber.de/bbs/user/69851.xls
Viele Grüße
Kathi
AW: Zellen löschen wenn Bedingung erfüllt ist
02.06.2010 10:53:09
Kathi
Hallo noch einmal,
hier der richtige Link:
https://www.herber.de/bbs/user/69851.xls
Viele Grüße
Kathi
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

Zellen löschen in Excel, wenn eine Bedingung erfüllt ist


Schritt-für-Schritt-Anleitung

Um in Excel Zellen zu löschen, wenn eine bestimmte Bedingung erfüllt ist, kannst Du VBA verwenden. Hier ist eine einfache Methode, um dies zu erreichen:

  1. Öffne die Excel-Datei, in der Du die Zellen löschen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code ein:

    Sub ZellenLoeschenWennBedingungErfuellt()
       Dim Zelle As Range
       For Each Zelle In ActiveSheet.UsedRange
           If Zelle.Value = "Abitur" Then ' Bedingung anpassen
               Zelle.ClearContents ' oder Zelle.Delete, um die Zelle zu löschen
           End If
       Next Zelle
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Drücke ALT + F8, wähle das Makro ZellenLoeschenWennBedingungErfuellt und klicke auf Ausführen.

Diese Schritte ermöglichen es Dir, den Zelleninhalt zu löschen, wenn eine bestimmte Bedingung erfüllt ist, wie z.B. wenn "Abitur" in der Zelle steht.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.
    Lösung: Stelle sicher, dass Makros in Deinen Excel-Einstellungen aktiviert sind.

  • Fehler: Zellen werden nicht gelöscht.
    Lösung: Überprüfe die Bedingung im Code. Möglicherweise stimmt der Wert nicht mit dem in den Zellen überein.

  • Fehler: Formatierungen gehen verloren.
    Lösung: Verwende Zelle.ClearContents, um nur den Inhalt zu löschen, oder Zelle.Delete, um die Zelle zu löschen und die Formatierung beizubehalten.


Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die Filter-Funktion in Excel nutzen:

  1. Markiere die Daten, die Du filtern möchtest.
  2. Klicke auf Daten > Filtern.
  3. Setze einen Filter auf die Spalte, die die Bedingung enthält (z.B. "Abitur").
  4. Wähle die gefilterten Zellen aus und drücke Entf, um den Inhalt zu löschen.

Diese Methode ist einfach, erfordert jedoch manuelle Schritte und ist nicht so flexibel wie VBA.


Praktische Beispiele

  1. Zelleninhalt löschen, wenn ein bestimmter Wert vorhanden ist:
    Verwende den obigen VBA-Code, um Zellen zu leeren, wenn der Wert "Abitur" in der Zelle steht.

  2. Zeilen löschen, wenn eine Bedingung erfüllt ist:
    Ändere den VBA-Code zu:

    Sub ZeilenLoeschenWennBedingungErfuellt()
       Dim Zeile As Range
       For Each Zeile In ActiveSheet.UsedRange.Rows
           If Zeile.Cells(1, 1).Value = "Abitur" Then ' Bedingung anpassen
               Zeile.Delete
           End If
       Next Zeile
    End Sub
  3. Formatierung beibehalten:
    Wenn Du die Formatierung beibehalten möchtest, nutze ClearContents, um nur den Inhalt zu löschen, ohne die Formatierung zu beeinflussen.


Tipps für Profis

  • Backup erstellen: Bevor Du mit VBA arbeitest, erstelle eine Sicherungskopie Deiner Datei, um Datenverlust zu vermeiden.
  • Debugging: Nutze Debug.Print, um Werte während der Ausführung zu überprüfen und mögliche Fehler zu finden.
  • VBA-Dokumentation: Schau dir die offizielle VBA-Dokumentation an, um mehr über die Funktionen und Möglichkeiten zu erfahren.

FAQ: Häufige Fragen

1. Kann ich das Makro rückgängig machen?
Nein, Makros in Excel sind nicht rückgängig zu machen. Es ist ratsam, vorher ein Backup zu erstellen.

2. Wie kann ich das Makro anpassen?
Du kannst die Bedingung im Code ändern, um andere Werte zu überprüfen oder andere Aktionen auszuführen, z.B. Zellen zu löschen, wenn der Wert "Fachabi" ist.

3. Funktioniert das auch in älteren Excel-Versionen?
Ja, das VBA-Skript funktioniert in den meisten gängigen Excel-Versionen (ab Excel 2007).

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