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

Forumthread: Makro nur ausführen wenn Bedingung erfühlt ?

Makro nur ausführen wenn Bedingung erfühlt ?
29.01.2016 13:09:09
Heiko
Hallo zusammen,
komme bei meinem aktuellen Projekt :-) nicht weiter
Ich möcht eine Sicherheitsabfrage in ein Makro einbauen, also wenn ich ein Makro über
einen Button Starte soll jetzt geprüft werden ob "W1" leer ist oder nicht
Wenn "W1" nicht leer dann das Markro Starten sonst nicht
Wie schreibe ich das?
Danke und VG
Heiko

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro nur ausführen wenn Bedingung erfühlt ?
29.01.2016 13:11:28
selli
hallo heiko
if cells(1,23)="" then
'deinMakro
end if
gruß
selli

achso "nicht leer"
29.01.2016 13:12:55
selli
hallo heiko,
so natürlich
if cells(1,23)"" then
'deinMakro
end if
gruß
selli

AW: Makro nur ausführen wenn Bedingung erfühlt ?
01.02.2016 14:11:30
Heiko
Danke selli,
scheind zu klappen.
Kannst Du mir noch sagen warum ich bei
"Windows("export.MHTML").Activate" einen Laufzeitfehler "9" bekomme?
Danke Heiko
Sub KopierTest()
If Cells(1, 23) = "" Then
Sheets("Sheet3").Select
Windows("export.MHTML").Activate
Columns("A:AD").Select
Selection.Copy
Windows("Warenausgang.xlsm").Activate
Columns("A:A").Select
ActiveSheet.Paste
End If
End Sub

Anzeige
AW: Makro nur ausführen wenn Bedingung erfühlt ?
01.02.2016 14:15:17
Heiko
-
;
Anzeige
Anzeige

Infobox / Tutorial

Makro nur ausführen, wenn Bedingung erfüllt


Schritt-für-Schritt-Anleitung

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

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf einen der Einträge im Projekt-Explorer und wähle Einfügen > Modul.

  3. Füge den Code ein: Kopiere folgenden Code und füge ihn in das Modul ein:

    Sub DeinMakro()
        If Cells(1, 23) <> "" Then
            ' Hier kommt der Code deines Makros
        End If
    End Sub

    Dieser Code prüft, ob die Zelle W1 (also Zelle (1, 23)) leer ist oder nicht. Ist sie nicht leer, wird das Makro ausgeführt.

  4. Makro zu einem Button hinzufügen: Gehe zurück zu deinem Excel-Dokument, füge einen Button hinzu und verlinke ihn mit dem erstellten Makro.


Häufige Fehler und Lösungen

  • Fehler 9: Index außerhalb des gültigen Bereichs: Dieser Fehler tritt häufig auf, wenn du versuchst, auf ein nicht geöffnetes Fenster zuzugreifen. Stelle sicher, dass das Fenster, auf das du zugreifen möchtest, tatsächlich geöffnet ist.

  • Das Makro wird nicht ausgeführt: Prüfe, ob die Bedingung korrekt geschrieben ist. Stelle sicher, dass die Zelle W1 tatsächlich nicht leer ist, bevor du das Makro ausführst.


Alternative Methoden

Anstatt ein Makro zu verwenden, kannst du auch die bedingte Formatierung oder Datenvalidierung in Excel nutzen, um bestimmte Aktionen auszulösen, wenn eine bestimmte Bedingung erfüllt ist.

  1. Bedingte Formatierung: Du kannst die Formatierung von Zellen ändern, basierend auf dem Inhalt der Zelle.
  2. Datenvalidierung: Verwende die Datenvalidierungsfunktion, um sicherzustellen, dass in bestimmten Zellen nur bestimmte Werte eingegeben werden.

Praktische Beispiele

Hier ist ein Beispiel, wie du ein Makro erstellen kannst, das Daten nur kopiert, wenn eine bestimmte Zelle nicht leer ist:

Sub KopierTest()
    If Cells(1, 23) <> "" Then
        Sheets("Sheet3").Select
        Columns("A:AD").Select
        Selection.Copy
        Windows("Warenausgang.xlsm").Activate
        Columns("A:A").Select
        ActiveSheet.Paste
    End If
End Sub

In diesem Beispiel wird überprüft, ob die Zelle W1 nicht leer ist. Ist sie nicht leer, werden Daten von "Sheet3" in die Datei "Warenausgang.xlsm" kopiert.


Tipps für Profis

  • Verwende Option Explicit: Füge am Anfang deines Moduls Option Explicit hinzu, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler eleganter zu handhaben.

FAQ: Häufige Fragen

1. Wie kann ich mein Makro anpassen, um mehrere Bedingungen zu prüfen?
Du kannst mehrere If-Bedingungen hintereinander verwenden oder die And-bzw. Or-Operatoren nutzen, um komplexere Bedingungen zu formulieren.

2. Was mache ich, wenn ich eine Fehlermeldung erhalte, wenn ich das Makro ausführe?
Überprüfe die Zeile, die den Fehler auslöst, und stelle sicher, dass alle Referenzen korrekt sind. Nutze die Debugging-Tools im VBA-Editor, um den Fehler zu lokalisieren.

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