Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

hilfe - wer findet den fehler

hilfe - wer findet den fehler
02.06.2004 16:23:33
mitsch
grüss gott,
habe dieses makro verfasst um zu prüfen, ob bestimmte felder in einem tabellenblatt ausgefüllt sind. sind sie nicht ausgefüllt kommt eine MsgBox.
leider prüft der immer nur die erste angabe in der "Range-Klammer" - hier "f5" und den rest lässt er außer acht.
-----------------------------------------------------------------------------

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Worksheets("Projektanfrage").Range("f5,i5,g5,j5,k5").Value = "" Then
MsgBox "Es sind nicht alle Pflichtfelder im Tabellenblatt 'Projektanfrage' ausgefüllt!"
Cancel = False
End If
End Sub

-----------------------------------------------------------------------------
wie kann ich das makro umschreiben ohne für jede zu prüfende zelle die komplette anweisung schreiben zu müssen?
vergelt´s gott...mitsch

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: hilfe - wer findet den fehler
Ulf

Private Sub Workbook_BeforeClose(Cancel As Boolean)
dim c as range
for each c in Worksheets("Projektanfrage").Range("f5,i5,g5,j5,k5")
if c = "" then
MsgBox "Es sind nicht alle Pflichtfelder im Tabellenblatt 'Projektanfrage'   ausgefüllt!"
Cancel = False
End If
exit for
next
End Sub

AW: geht leider nicht...
mitsch
hallo ulf, hab das so versucht, verhält sich aber genau so wie vorher beschrieben...
AW: geht leider nicht...
02.06.2004 17:01:36
Dominic
Hallo,
probiere mal das aus:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If IsEmpty(Worksheets("Projektanfrage").Cells(5, 6)) Or IsEmpty(Worksheets("Projektanfrage").Cells(5, 7)) Or IsEmpty(Worksheets("Projektanfrage").Cells(5, 9)) Or IsEmpty(Worksheets("Projektanfrage").Cells(5, 10)) Or IsEmpty(Worksheets("Projektanfrage").Cells(5, 11)) Then
MsgBox "Es sind nicht alle Pflichtfelder im Tabellenblatt 'Projektanfrage' ausgefüllt!"
Cancel = True
End If
End Sub

Anzeige
AW: das funzt...
mitsch
vielen dank dominic
EXIT FOR vor END IF
Jörg
Hallo Mitsch

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim c As Range
For Each c In Worksheets("Projektanfrage").Range("f5,i5,g5,j5,k5")
If c = "" Then
MsgBox "Es sind nicht alle Pflichtfelder im Tabellenblatt 'Projektanfrage'   ausgefüllt!"
Cancel = False
Exit For
End If
Next
End Sub

Gruss Jörg
Cancel = True
02.06.2004 17:20:20
Dominic
statt Cancel = False
macht Sinn
Jörg
Hallo Dominic,
ich hatte es so aus dem Original übernommen.
Cancel=true scheint mir allerdings auch sinnvoller zu sein.
Bin VBA Anfänger, musste erst mal rumprobieren, was es bewirkt.
Gruss Jörg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige