Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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

VBA - nicht schliessen wenn Pflichtfelder leer

VBA - nicht schliessen wenn Pflichtfelder leer
MT
Hallo,
ich habe mal wieder ein kleines Problem in Excel - was für euch sicherlich (hoffentlich) ne Kleinigkeit ist.
Und zwar habe ich eine Mustervorlage erstellt, bei der gewissen Pflichtfelder auszufüllen sind. Diese sind für eine bessere Sichtbarkeit entsprechend grau hinterlegt.
Diese Felder müssen ausgefüllt sein, andernfalls soll das Dokument nicht zu schließen sein.
Das Ganze hab ich versucht, über ne VBA Geschichte zu lösen.
Da ich selbst in VBA nicht wirklich nen Genie bin, hab ich mir dieses aus den tiefen des Internets bereits zusammen geklaut.
Hier nun die VBA-Programmierung im Detail:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = Not Worksheets("Tabelle1").Range("D14")  ""
Cancel = Not Worksheets("Tabelle1").Range("D15")  ""
Cancel = Not Worksheets("Tabelle1").Range("D16")  ""
Cancel = Not Worksheets("Tabelle1").Range("I15")  ""
Cancel = Not Worksheets("Tabelle1").Range("I16")  ""
Cancel = Not Worksheets("Tabelle1").Range("D26")  ""
Cancel = Not Worksheets("Tabelle1").Range("D27")  ""
Cancel = Not Worksheets("Tabelle1").Range("D28")  ""
Cancel = Not Worksheets("Tabelle1").Range("I27")  ""
Cancel = Not Worksheets("Tabelle1").Range("I28")  ""
Cancel = Not Worksheets("Tabelle1").Range("I12")  ""
Cancel = Not Worksheets("Tabelle1").Range("I24")  ""
End Sub

Mein Problem ist nun allerdings, dass sich in meinen Tests herausgestellt hat, dass eben nicht alle diese grauen Zellen ausgefüllt sein müssen, um das Dokument zu schließen.
(Datei unter https://www.herber.de/bbs/user/76593.xlt abrufbar)
Woran liegt das? Wo liegt mein logischer Fehler? Oder kann über diesen Weg nur eine bestimmte Anzahl an Zellen überprüft werden?
Vielleicht noch zur Info: Ich habe es geschafft, die Mustervorlage ohne jeglichen Inhalt zu speichern, indem ich zunächst das nicht ausgefüllte Dokument gespeichert habe - und dann im Anschluss Excel über den Task-Manager abgeschossen habe.
Schließlich ist ja nur das Schließen bei Nicht-Ausfüllen unterdrückt, nicht aber das speichern.
Im zweiten Schritt will ich dann das ganze noch aufs Drucken erweitern. Das müsste dann ja _ eigentlich das Gleiche sein, nur das ich das

Private Sub Workbook_BeforeClose(Cancel As Boolean) .... End Sub
durch


Private Sub Workbook_BeforePrint(Cancel As Boolean) .... End Sub
ersetzen müsste,oder?
Besten Dank für eure Hilfe!
Markus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA - nicht schliessen wenn Pflichtfelder leer
13.09.2011 13:09:34
Rudi
Hallo,
so geht das:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim blnC As Boolean
With Worksheets("Tabelle1")
blnC = blnC Or .Range("D14") = ""
blnC = blnC Or .Range("D15") = ""
blnC = blnC Or .Range("D16") = ""
blnC = blnC Or .Range("I15") = ""
blnC = blnC Or .Range("I16") = ""
blnC = blnC Or .Range("D26") = ""
blnC = blnC Or .Range("D27") = ""
blnC = blnC Or .Range("D28") = ""
blnC = blnC Or .Range("I27") = ""
blnC = blnC Or .Range("I28") = ""
blnC = blnC Or .Range("I12") = ""
blnC = blnC Or .Range("I24") = ""
End With
Cancel = blnC
End Sub

Gruß
Rudi
Anzeige
AW: VBA - nicht schliessen wenn Pflichtfelder leer
13.09.2011 13:18:15
MT
Hallo Rudi!
Besten Dank, läuft nun einwandfrei :)
Damit kann ich nun diesen Thread schließen.
Danke nochmals!
Markus

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige