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

Forumthread: Zellen überspringen in Abhängigkeit von Bedingung

Zellen überspringen in Abhängigkeit von Bedingung
09.10.2018 19:54:07
Bedingung
Benötige Hilfe
Wie erreiche ich es, das in einer Tabelle, Zellen beim Eingeben übersprungen werden, wenn ein Bezug der Zelle 0 oder leer ist.
Habe es schon mit Zellen sperren ausprobiert, das hat aber leider unerwünschte Nebeneffekte, und müsste auch jedes Mal händisch angepasst werden.
Hoffe ihr könnt mir weiterhelfen. Vielen Dank in voraus.
In der Beispiel xls habe ich das Problem (hoffentlich) ausführlich genug beschrieben
Vielen Grüße Michael
https://www.herber.de/bbs/user/124507.xls
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen überspringen in Abhängigkeit von Bedingung
09.10.2018 20:03:56
Bedingung
kannst du die datei mal in .xlsm-Format speichern?
Ich kann die Datei nur im Kompatibiltätsmodus öffnen.
xlsm
10.10.2018 11:34:59
michael
Hallo onur
Hier wie gewünscht eine angepasste xlsm Datei.
Vielen Dank für dein Interesse an meinem Problem.
https://www.herber.de/bbs/user/124529.xlsm
Anzeige
AW: xlsm
10.10.2018 17:56:17
onur
Teste mal:
https://www.herber.de/bbs/user/124550.xlsm
Ich konnte nur begrenzt testen, da keine Daten vorhanden sind.
Der Code springt (wenn Zelle leer oder 0) von 4 auf 7, von 10 auf 12, von 12 auf 15 und von 15 auf 22 Zeilen drunter Spalte 4.
Du musst dafür sorgen, daß du IMMER 22 Zeilen Abstand zw. den Datenblöcken hast (hast du nicht überall), sonst rutschst du eine Zeile höher oder tiefer. .
Anzeige
AW: xlsm
10.10.2018 22:08:36
Michael
Hallo onur
Habe mir deinen Code angeschaut. Ich glaube ich verstehe deinen Lösungsweg im Ansatz. Wenn ich das richtig sehe, müsste ich aber jede "Nullnummer" vorab im Code definieren und eine Sprungzelle hinterlegen. Das ist aber bei der Größe der Tabelle unmöglich durchzuführen. Außerdem ändern sich die Bestände jede Woche. Ein Artikel der diese Woche nicht vorrätig ist kann nächste Woche wieder da sein, oder umgekehrt.
Es sollte also so sein, das der Code in den "Vorrat" Zeilen schaut ob ein Bestand Größer 0, da ist, und wenn nicht, in das nächste grün hinterlegte Feld springt in dem ein Wert Größer 0 im Vorrat ist. Es finden Eingaben immer nur in den grünen Zeilen statt.
Gruß Michael
Anzeige
;

Forumthreads zu verwandten Themen

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 überspringen in Abhängigkeit von Bedingung


Schritt-für-Schritt-Anleitung

Um Zellen in Excel abhängig von einer Bedingung zu überspringen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei im .xlsm-Format.

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

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeineDatei.xlsm)" > Einfügen > Modul.
  4. Kopiere den folgenden Code in das Modul:

    Sub SkipEmptyCells()
       Dim cell As Range
       Dim targetRow As Long
    
       targetRow = 4 ' Beginne in Zeile 4
    
       Do While targetRow <= 100 ' Beispiel: bis Zeile 100
           If Cells(targetRow, 4).Value = 0 Or IsEmpty(Cells(targetRow, 4).Value) Then
               targetRow = targetRow + 3 ' Springe 3 Zeilen weiter
           Else
               ' Hier kannst du deine Eingabe machen
               MsgBox "Geben Sie einen Wert in Zeile " & targetRow & " ein."
               Exit Do
           End If
       Loop
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Starte das Makro über Entwicklertools > Makros > SkipEmptyCells.


Häufige Fehler und Lösungen

  • Fehler: "Das Makro kann nicht ausgeführt werden."
    Lösung: Stelle sicher, dass die Datei im .xlsm-Format gespeichert ist und Makros aktiviert sind.

  • Fehler: Der Code überspringt nicht die richtigen Zellen.
    Lösung: Überprüfe die Logik des Codes. Stelle sicher, dass der Abstand zwischen den Datenblöcken korrekt ist, wie im Thread beschrieben.


Alternative Methoden

Eine alternative Methode ist die Verwendung von Formeln, um die Eingabe zu steuern:

  1. Verwende die Funktion WENN:

    =WENN(A1=0; ""; A1)

    Diese Formel gibt einen leeren Wert zurück, wenn A1 gleich 0 ist.

  2. Datenvalidierung: Du kannst auch die Datenvalidierungsfunktion nutzen, um Eingaben in bestimmten Zellen zu steuern.


Praktische Beispiele

Ein praktisches Beispiel könnte sein, dass du eine Liste von Artikeln hast und nur die Artikel mit einem Bestand größer als Null bearbeiten möchtest:

  1. Erstelle eine Liste in Spalte A.
  2. In Spalte B kannst du die Formel =WENN(A1=0; ""; A1) verwenden, um nur die verfügbaren Artikel anzuzeigen.
  3. Verwende die oben genannte VBA-Methode, um über die verfügbaren Artikel zu iterieren.

Tipps für Profis

  • Verwende benannte Bereiche, um die Lesbarkeit deines Codes zu erhöhen.
  • Teste deinen Code regelmäßig mit verschiedenen Datensätzen, um sicherzustellen, dass er robust ist.
  • Dokumentiere deinen Code gut, damit andere (oder du selbst später) verstehen, was jede Funktion macht.

FAQ: Häufige Fragen

1. Kann ich den Code anpassen, um mehr als nur 0 zu überspringen?
Ja, du kannst die Bedingungen im Code anpassen, indem du zusätzliche Bedingungen in die If-Anweisung einfügst.

2. Funktioniert diese Methode in Excel 2016?
Ja, die beschriebenen Methoden und der VBA-Code sind in Excel 2016 und späteren Versionen anwendbar.

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