Hallo Du,
zum Bleistift
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim rngPflicht As Range, rngBereich As Range, rngZelle As Range
Dim intLeere As Integer, blnFlag As Boolean
Set rngPflicht = [G2,C6,G6,C10,E17,B30,D34,D36,B45,B50,E52,H52,F57]
'zurücksetzen
rngPflicht.Interior.Color = xlNone
'durch die Teilbereiche
For intLeere = 1 To rngPflicht.Areas.Count
'es könnten auch Zellen nebeneinander liegen
For Each rngZelle In rngPflicht.Areas(intLeere).Cells
If IsEmpty(rngZelle) Then
rngZelle.Interior.Color = vbRed
blnFlag = True
End If
Next rngZelle
Next intLeere
If blnFlag = True Then
Cancel = True
MsgBox "Bitte zuerst alle Pflichtfelder (*) ausfüllen!", vbCritical, ["Speichern nicht möglich"]
End If
End Sub
|