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

Speichern erst dann, wenn alle Felder gefüllt sind

Speichern erst dann, wenn alle Felder gefüllt sind
31.07.2006 10:37:38
jpr
Hallo zusammen
und einen wunderschönen guten Morgen. Hab da mal ein kleines Problem und hoffe, dass es hier jmd gibt, der mir bei meinem Problemchen weiterhelfen kann.
Es geht um folgendes:
Bitte öffnet mal das angehängte Excel-File (https://www.herber.de/bbs/user/35467.xls). So soll das Formular aussehen, wenn es der Anwender öffnet. Anschließend sollen ALLE gelb markierten "Muss-Felder" (können Drop-Down-Felder als auch Eingabefelder sein) ausgefüllt werden. Erst wenn alle Felder ausgefüllt sind, soll der Anwender die Möglichkeit haben, das Formular zu speichern. Habe in nem anderen Forum einen Hinweis gefunden, wie ich mein Problem zu 90% lösen kann, jedoch leider nicht zu 100%. Mit dem folgenden Code kann ich erreichen, dass eine Speicherung erst dann möglich ist, wenn alle Felder gefüllt sind. Jedoch soll beim Öffnen des Formulars keine der Zellen belegt sein und erst durch den Anwender gefüllt werden.
Könnt ihr mein Problem nachvollziehen? Über den Code erreiche ich zwar, dass alle Felder gefüllt sein sollen, aber ich kann dadurch das "nackte" (keine Einträge) Formular nicht erstellen.
---------
Code:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
For Each mf In [must]
If mf = "" Then
MsgBox "Zelle " & mf.Address & " darf nicht leer sein !", , _
"Datei nicht gespeichert"
Cancel = True
Exit For 'schlechter Stil, hier aber ausnahmsweise mal erlaubt ;-)
End If
Next
End Sub

---------
So, dann hoffe ich mal ihr könnt meinen Schilderungen folgen und mir weiterhelfen. Wäre euch sehr dankbar.
Grüße
JPR
https://www.herber.de/bbs/user/35467.xls

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern erst dann, wenn alle Felder gefüllt
31.07.2006 11:01:35
Hans
Hallo,
die Methodik stimmt nicht. Das Formular zu speichern und vorher die Daten zu löschen, macht ja keinen Sinn, da in diesem Fall das leere Formular gespeichert wird. Die Daten zu speichern und Formularwerte über das Workbook_Open-Ereignis beim Öffnen zu entfernen, macht auch keinen Sinn, da sie ja irgendwann gelesen werden sollen.
Der m.E. richtige Weg:
- Speichere das Formular als Mustervorlage (*.xlt)
- Wenn der Anwender das Formular aufruft, bekommt er immer eine Kopie dieses (leeren) Formulars
- Nach dem Ausfüllen des Formulars muss es unter einem neuen Namen gespeichert werden. Wie das geschehen soll (Schaltfläche, vorgegebener Name oder was auch immer) hängt von den Gegebenheiten ab.
gruss hans
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige