Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1156to1160
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Plausi für Makrostart

Plausi für Makrostart
Petra
Hallo zusammen,
ich habe ein Makro per Recorder aufgenommen und möchte hier nun eine Plausi für den Start einbauen.
Genauer gesagt, darf das Makro nur dann laufen, wenn
- die gesamte Spalte E leer ist
bzw.
- die Zellen E5:20 leer sind
Ich bräuchte als zwei Plausis, die natürlich immer nur alleine geprüft werden. Wer kann mir hier helfen?
Liebe Grüße
Petra

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

Betreff
Benutzer
Anzeige
Wenn Spalte E leer ist, ist E5:E20 auch leer
15.05.2010 15:52:13
NoNet
Hallo Petra,
eins vorweg : Deine geschilderten Bedingungen sind etwas unlogisch :
- Wenn E:E leer ist, ist doch E5:E20 automatisch auch leer, oder !?!?
- Darf das Makro nun nur dann gestartet werden wenn ALLE Zellen der Spalte E leer sind, oder nur wenn zumindest E5:E20 leer ist - unabhängig von den restlichen Zellen der Spalte E ?
Folgende Variante könnte ich Dir anbieten :
Sub MakroNurAusfuehrenWennSpalteEleerIst()
If Application.CountA([E:E ]) = 0 Then
'Hier Dein Makro-Code
MsgBox "Komplette Spalte E ist leer !", _
, "Makro wurde ausgeführt !"
ElseIf Application.CountBlank([E5:E20]) = 16 Then
'Hier Dein Makro-Code
MsgBox "Alle Zellen im Bereich E5:E20 sind leer !", _
, "Makro wurde ausgeführt !"
End If
End Sub
Gruß, NoNet
Anzeige
AW: Wenn Spalte E leer ist, ist E5:E20 auch leer
15.05.2010 16:03:36
Petra
Hallo NoNet,
prima, danke für die Hilfe! Ich hatte schon damit gerechnet, dass ich mich blöd ausgedrückt habe.
Natürlich darf nur eine Plausi ziehen. Ich überlege derzeit, welche Plausi ich einbauen will. Und da ich noch im grübeln bin, hatte ich direkt nach beiden gefragt, bevor ich heute Abend noch einmal fragen muss.
Vielen Dank für Deine Hilfe!
Liebe Grüße
Petra
Nachfrage
15.05.2010 16:10:54
Petra
Hallo NoNet,
habe es gerade ausprobiert. Kann es sein, dass Formeln ebenfalls als störend empfunden werden?
Wenn ja, hast Du hierfür auch eine Lösung?
LIebe Grüße
Petra
AW: Nachfrage
15.05.2010 16:18:55
Daniel
Hi
ja, CountA bzw CountBlank beziehen sich immer nur auf Echte Leerzellen, jede Zelle, die eine Leerzelle enthält, ist nicht leer
wenn die Zellen Formeln enthalten, musst du
If Worksheetfunction.CountIf(Range("E5:E20"), "")=16
verwenden, um zu prüfen, ob alle Zellen Leer sind. (Vorausgesetzt, die Formeln haben auch wirklich "" als Ergebnis und nicht das Leerzeichen oder so.
Gruß, Daniel
Anzeige
Ja, Formelergebnisse sind nicht LEER
15.05.2010 16:25:52
NoNet
Hallo Petra,
mit Deiner Vermutung hast Du Recht :
Ergebnisse von Formeln/Funktionen, die eine LEERE ZELLE als Ergebnis liefern (z.B. =WENN(1=0;"x";"")) werden von der Funktion ANZAHLLEEREZELLEN() (VBA : CountBlank()) nicht mitgezählt, da sie nicht "Leer" sind, sondern eben genau diese Formel/Funktion enthalten.
Präziser kannst Du das mit folgendem Makro-Grundgerüst lösen :
Sub MakroNurAusfuehrenWennSpalteEleerIst()
If Application.CountA([E:E]) = 0 Then
Call DeinMakro 'Hier wird  DeinMakro() aufgerufen - siehe unten
MsgBox "Komplette Spalte E ist leer !", _
, "Makro wurde ausgeführt !"
ElseIf Application.CountIf([E:E], "") = Rows.Count Then
Call DeinMakro 'Hier wird  DeinMakro() aufgerufen - siehe unten
MsgBox "Komplette Spalte E ist leer bzw. enthält Funktionen !", _
, "Makro wurde ausgeführt !"
ElseIf Application.CountBlank([E5:E20]) = 16 Then
Call DeinMakro 'Hier wird  DeinMakro() aufgerufen - siehe unten
MsgBox "Alle Zellen im Bereich E5:E20 sind leer !", _
, "Makro wurde ausgeführt !"
End If
End Sub

Sub DeinMakro()
'Hier Dein Makro-Code
End Sub
Gruß, NoNet
Anzeige
Super, und danke für die Erkärung!
15.05.2010 17:38:23
Petra

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige