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

Aktive zelle leer ist, dann

Forumthread: Aktive zelle leer ist, dann

Aktive zelle leer ist, dann
02.01.2004 21:53:09
Walter
Guten Abend Zusammen,
habe nur eine kelinigkeit.
Habe folgende Zeile geschrieben:
If ActiveCell.Select <= 0 Then ' <> "" ob leer ist
' MsgBox "walter"
ActiveCell.Offset(-1, 0).Select
Selection.Delete
ActiveCell.Offset(0, 2).Select
MsgBox "walter"
Else
MsgBox "richtig"
End If
soll bewirken, wenn die aktive Zelle leer ist, eine Zeile nach oben und dort
den Inhalt der Zelle entfernen.
Bei mir zeigt immer MsgBox Walter an
Wieso?
Gruß Walter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktive zelle leer ist, dann
02.01.2004 22:02:07
Ulf
If ActiveCell <= 0 Then

Ulf
Dank, ging super schnell, läuft...
02.01.2004 22:15:14
Walter
Hallo Ulf,
erst mal noch ein gesundes neues Jahr,
herzlichen DANK war super schnell !!!
Gruß Walter
Dann ist sie aber nicht leer.. ;-)
02.01.2004 22:23:22
Ramses
Hallo Ulf

sondern der Wert muss kleiner 0 sein

If IsEmpty(ActiveCell) Then

sollte es dann lauten wenn Sie leer sein soll ;-))

Gruss Rainer
Anzeige
AW: läuft auch...
03.01.2004 14:04:03
Walter
Hallo Rainer,
hatte so wie Ulf durchgeführt,
läuft auch.
Gruß Walter
AW: Aktive zelle leer ist, dann
02.01.2004 22:26:24
PeterW
Hallo Walter,

noch eine Kleinigkeit: mit Selection.Delete löschst du die Zelle und nicht nur deren Inhalt. Die Alternative wäre ClearContents.

Gruß
Peter
AW: Danke, wenn auch später
03.01.2004 14:05:04
Walter
Hallo Peter,
danke für den Hinweis.
Gruß Walter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Aktive Zelle leer? So reagierst Du richtig in Excel VBA


Schritt-für-Schritt-Anleitung

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

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

  3. Füge den folgenden Code ein:

    Sub ZellePruefen()
        If IsEmpty(ActiveCell) Then
            ActiveCell.Offset(-1, 0).Select
            ActiveCell.ClearContents
            MsgBox "Inhalt der oberen Zelle wurde gelöscht."
        Else
            MsgBox "Die aktive Zelle ist nicht leer."
        End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle ZellePruefen und klicke auf Ausführen.

Der Code prüft, ob die aktive Zelle leer ist. Falls ja, wird die Zelle darüber ausgewählt und ihr Inhalt gelöscht.


Häufige Fehler und Lösungen

  • Fehler: Die MsgBox zeigt immer den Text "Die aktive Zelle ist nicht leer." an.

    • Lösung: Stelle sicher, dass die aktive Zelle tatsächlich leer ist. Verwende IsEmpty(ActiveCell) für die Überprüfung.
  • Fehler: Die Zelle wird gelöscht statt nur der Inhalt.

    • Lösung: Verwende ClearContents anstelle von Selection.Delete, um nur den Inhalt zu entfernen.

Alternative Methoden

Du kannst den gleichen Effekt auch mit einer anderen Methode erzielen, indem Du eine If-Bedingung ohne VBA nutzt:

  1. Verwende eine Hilfsspalte: Füge in einer neuen Spalte eine Formel ein, die überprüft, ob die Zelle leer ist.
  2. Formel: =WENN(ISTLEER(A1); "Leer"; "Nicht leer")
  3. Diese Methode erfordert kein VBA und kann einfach in Formeln integriert werden.

Praktische Beispiele

Hier sind einige Beispiele, wie Du die If-Bedingung in verschiedenen Szenarien nutzen könntest:

  • Beispiel 1: Wenn Du die aktive Zelle leer machst, wenn der Wert kleiner als 10 ist:

    If ActiveCell.Value < 10 Then
        ActiveCell.ClearContents
    End If
  • Beispiel 2: Um eine Warnung anzuzeigen, wenn die aktive Zelle leer ist und eine andere Zelle ausgewählt wird:

    If IsEmpty(ActiveCell) Then
        MsgBox "Die aktive Zelle ist leer. Bitte fülle sie aus."
    End If

Tipps für Profis

  • Nutze With...End With, um mehrere Aktionen auf das gleiche Objekt anzuwenden. Dies verbessert die Lesbarkeit und Leistung Deines Codes.
  • Kommentiere Deinen Code: Verwende ' für Kommentare, um den Zweck Deiner Bedingungen und Aktionen zu erklären.
  • Teste Deine Makros in einer Kopie Deiner Arbeitsmappe, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die aktive Zelle in Excel VBA überprüfen? Du kannst die aktive Zelle mit ActiveCell und die Funktion IsEmpty verwenden, um zu prüfen, ob sie leer ist.

2. Was ist der Unterschied zwischen Delete und ClearContents? Delete entfernt die Zelle vollständig, während ClearContents nur den Inhalt der Zelle löscht, die Zelle selbst bleibt jedoch erhalten.

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