Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

hilfe - wer findet den fehler

Forumthread: 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
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 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
Anzeige
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
;

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