HERBERS Excel-Forum - das Archiv
Mussfeld sonst speichern nicht möglich
matthias

Hallo Profis,
Hab ne Frage: wie kann ich es machen, dass wen z.b eines der Felder welche in einer tabelle leer gelassen wird ist das speichern nicht möglich? man kann erst nur dann speicher wenn man überall eine eingabe gmacht hat...Beispiel Felder von A4 bis F20 müssen eine eingabe enthalten sonst ist das speichern nicht möglich?
Bedanke mich bereits jetzt für jede hilfe.
Gruss
Matthias

AW: Mussfeld sonst speichern nicht möglich
{Boris}

Hi Matthias,
in das Klassenmodul "DieseArbeitsmappe":
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Const DER_BEREICH As String = "Tabelle1!A4:F20"
If Application.CountA(Range(DER_BEREICH)) < Range(DER_BEREICH).Cells.Count Then
MsgBox "Erst alle Zellen im Bereich " & DER_BEREICH & "füllen.", vbInformation, "Speichern  _
nicht möglich"
Cancel = True
Exit Sub
End If
End Sub
Grüße Boris
AW: Mussfeld sonst speichern nicht möglich
matthias

Hi Boris,
Vielen Dank. Eine Frage: Den bereich muss ich ja definieren? Wie fülle ich das in deinen Code ein? Range (a1:b3)?
Danke und Gruss
matthias
Diesen Transfer...
{Boris}

Hi Matthias,
..hätte ich Dir eigentlich zugetraut ;-)
Const DER_BEREICH As String = "Tabelle1!A4:F20"
Grüße Boris
AW: Diesen Transfer...
matthias

Hi Boris,
Hab von VBA keine Ahnung...Mir ist schon klar das der Bereich die "Tabelle1!A4:F20" abbildet. Muss ich dann nichts an deinem Coder verändern betr. des bereichs?
Sorry, aber da blick ich noch nicht ganz durch.
Gruss
matthias
Ich hab Dir den Bereich...
{Boris}

Hi Matthias,
...extra in die Variable DER_BEREICH gepackt, damit Du sonst nix am Code ändern musst.
Teste es doch einfach mal.
Grüße Boris
AW: Ich hab Dir den Bereich...
matthias

ich erhalte ne fehlermeldung ....syntaxfehler
gruss
matthias
mach den _ weg. owT
Rudi

Nochmal kopierbar
{Boris}


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Const DER_BEREICH As String = "Tabelle1!A4:F20" 'Bereich nur hier anpassen!!!
If Application.CountA(Range(DER_BEREICH)) < Range(DER_BEREICH).Cells.Count Then
MsgBox "Erst alle Zellen im Bereich " & DER_BEREICH & "füllen.", vbInformation, _
"Speichern nicht möglich"
Cancel = True
End If
End Sub
Grüße Boris
AW: Nochmal kopierbar
matthias

super danke...hat geklappt!