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

Wenn Zelle leer dann makro ausführen

Forumthread: Wenn Zelle leer dann makro ausführen

Wenn Zelle leer dann makro ausführen
13.07.2004 17:08:58
Mike
hi zusammen... hab jetzt schon versucht was zu finden aber irgendwie passen die besherigen artikel nicht.
Wie lautet der vba code für (ich sags mal in meinen worten):
wenn zelle a1 leer ist dann bring die nachricht "xxx" ansonsten führe das makro "xxx" aus. (oder mach mit dem makro weiter)
vielen dank schon mal für eure hilfe.
gruß mike
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wenn Zelle leer dann makro ausführen
ransi
hallo mike
versuch mal so:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("a1") Then
If IsEmpty([a1]) Then MsgBox "XXX" Else: MsgBox "Ist nicht leer" 'oder call dein makro
End If
End Sub

Gruß ransi
Anzeige
AW: Wenn Zelle leer dann makro ausführen
Martin
Hallo Ransi,
vielleicht denke ich falsch, aber das Change-Ereignis wird jetzt nur "aktiv", wenn in A1 etwas eingetragen wird, und dann kann A1 nie leer sein.
Ich nehme an Mike hat schon einen Code. Dann sollte er an der passenden Stelle Deine If-Bedingung einfügen.
Gruß
Martin Beck
Anzeige
@ martin
ransi
hallo martin
der code wird aber auch ausgelöst wenn in a1 gelöscht wird.
dann kommt das else.
aber egal, das bekommt er schon hin denke ich.
Seine frage zielte wohl auf "If IsEmpty([a1]) Then... else call..."
gruß ransi
AW: @ martin
14.07.2004 15:45:15
mike
vielen dank für eure antworten... habs jetzt hinbekommen...
DANKE
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wenn Zelle leer, dann Makro ausführen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und klicke auf „Entwicklertools“ in der Menüleiste.

  2. Wähle „Visual Basic“, um den VBA-Editor zu öffnen.

  3. Suche im Projektfenster nach dem entsprechenden Arbeitsblatt, in dem du den Code einfügen möchtest.

  4. Doppelklicke auf das Arbeitsblatt, um das Codefenster zu öffnen.

  5. Füge den folgenden VBA-Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address = Range("A1").Address Then
           If IsEmpty(Range("A1")) Then
               MsgBox "Die Zelle ist leer. Bitte füllen Sie sie aus."
           Else
               ' Hier kannst du dein Makro aufrufen
               Call DeinMakro
           End If
       End If
    End Sub
  6. Ersetze DeinMakro durch den Namen des Makros, das du ausführen möchtest.

  7. Schließe den VBA-Editor und teste die Funktionalität, indem du Zelle A1 leer lässt oder etwas eingibst.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt, wenn A1 leer ist.

    • Lösung: Überprüfe, ob die Adresse von Target korrekt ist. Der Code sollte auf die richtige Zelle verweisen.
  • Fehler: Die Meldung wird nicht angezeigt.

    • Lösung: Stelle sicher, dass das Worksheet-Change-Ereignis korrekt abgerufen wird. Der Code muss im richtigen Arbeitsblattmodul platziert sein.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch eine Excel-Formel nutzen, um nur dann eine Berechnung durchzuführen, wenn eine Zelle nicht leer ist. Hier ein Beispiel:

=IF(NOT(ISBLANK(A1)), DeineBerechnung, "")

Diese Formel führt eine Berechnung nur aus, wenn A1 nicht leer ist. So kannst du sicherstellen, dass die Excel-Formel nicht ausgeführt wird, wenn die Zelle leer ist.


Praktische Beispiele

  1. Beispiel für ein Makro: Wenn A1 leer ist, eine Nachricht anzeigen.

    If IsEmpty(Range("A1")) Then
       MsgBox "Bitte füllen Sie die Zelle A1 aus!"
    End If
  2. Beispiel für eine Excel-Formel:

    =IF(A1<>"", "Zelle gefüllt", "Zelle ist leer")

Diese Beispiele helfen dir, die Umsetzung der Anforderung zu verstehen.


Tipps für Profis

  • Verwende die Application.EnableEvents-Eigenschaft, um das Auslösen von Makros zu steuern und unerwünschte Schleifen zu vermeiden.

  • Teste deine Makros gründlich, um sicherzustellen, dass sie unter verschiedenen Bedingungen korrekt funktionieren.

  • Dokumentiere deinen Code mit Kommentaren, um ihn verständlicher zu machen, besonders wenn du ihn später wiederverwenden möchtest.


FAQ: Häufige Fragen

1. Wie kann ich das Makro nur ausführen, wenn Zelle A1 nicht leer ist?
Füge die Bedingung If Not IsEmpty(Range("A1")) Then hinzu, bevor du den Code für dein Makro aufrufst.

2. Was passiert, wenn ich mehrere Zellen überwachen möchte?
Du kannst die If-Bedingung erweitern, um mehrere Zellen zu überprüfen, indem du eine Schleife oder mehrere Bedingungen verwendest.

3. Ist es möglich, diese Funktion in Excel Online zu verwenden?
Leider unterstützt Excel Online keine VBA-Makros. Diese Funktionalität ist nur in Desktop-Versionen von Excel verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige