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

hilfe - wer findet den fehler

Forumthread: hilfe - wer findet den fehler

hilfe - wer findet den fehler
02.06.2004 18: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
Anzeige

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

Anzeige
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 19: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
Anzeige
Cancel = True
02.06.2004 19: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
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18