Anzeige
Archiv - Navigation
1204to1208
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
Inhaltsverzeichnis

Pflichtfelder

Pflichtfelder
Herr
Sehr geehrte Damen und Herren,
zunächst muss Ich mich im voraus entschuldigen,da meine Anfrage hier, das hat die Suche ergeben, in ähnlicher Form schon oft gestellt wurde. Ich bin allerdings gänzlich ungeübt und habe deswegen die Antworten nicht auf mein Problem ummünzen können. Besonders was die Anwendung der, für mein Problem wohl benötigten, Makros angeht habe ich kaum Kenntnis. Nun zum Kern der Anfrage:
In meinem Dokument müssen sämtliche Felder in den Spalten B,C,E,F,G,I,K,L und R; jeweils ab der Zeile 3 (einschl.) Pflichtfelder werden ohne deren Ausfüllen das Abspeichern nicht möglich ist.
Für Ihre Hilfe bin Ich überaus dankbar,
Herr Rat-suchend

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pflichtfelder
11.03.2011 18:34:13
Hajo_ZI
Halllo
wie lannge brauch man zur Eingabe von über 9 Mio. Eingaben?
Das ist Deine Forderung. Ich bin der Meinung da solltest Du es schon zulassen das die Datei geschlossen wird und eine Pause gemacht wird.

man, Hajo-sei doch nich imma so pingelig ;-))
11.03.2011 18:55:16
Jörg-HH
Abspeichern nur m.gefüllten Pflichtfeldern
11.03.2011 19:01:15
Luc:-?
„Sehr geehrter Herr Rat“,
so förmlich ist es in Foren unüblich! ;-)
Lösung: (Voraussetzung 1.Blatt ist das mit den Pflichtfeldern!)
Schritt1: Bei geöffneter Mappe VBEditor öffnen und in deren VBA-Projekt im Strukturbaum DieseArbeitsmappe doppelklicken. Dann in die große freie Editorfläche daneben wechseln. Über der befinden sich 2 Auswahlbereiche. Links Workbook einstellen und dann rechts BeforeSave wählen → es wird der Rahmen dieser Ereignisprozedur angelegt (evtl andere schon bei Workbook-Auswahl angelegte können wieder entfernt wdn).
Schritt2: Die Leerzeile zwischen Prozedurkopf und -fuß durch Folgendes ersetzen…
    Dim berPflicht As Range
Set berPflicht = Me.Sheets(1).Range("B3:C#,E3:G#,I3:I#,K3:L#,R3:R#") '#⇐letzteZeileNr
Cancel = Not berPflicht.Find(Empty, , xlValues, xlWhole, xlNext) Is Nothing
Jetzt wird das Speichern verhindert, wenn mind eine dieser Zellen leer ist, weil die so gefunden wird und dadurch Cancel = True wird, was den Speichervorgang abbricht. Von Cancel könnte dann noch eine entsprd Meldung abhängig gemacht wdn, die sogar das Leerfeld benennen könnte, wenn man dem Find-Objekt eine eigene Range-Variable zuordnet, bspw Dim berLeer As Range, und später Set berLeer = berPflicht.Find(Empty, , xlValues, xlWhole, xlNext) schreibt. Dann kann Cancel = Not berLeer Is Nothing lauten und anschließend If Cancel Then MsgBox "Sie haben leider ein Pflichtfeld übersehen!", vbExclamation + vbOKOnly, "Leeres Pflichtfeld " & berLeer.Address(0, 0) eingefügt wdn. Es wäre auch mögl, sämtliche Leer-Pflichtfelder aufzulisten bzw ihre Anzahl mitzuteilen.
Gruß + schöWE, Luc :-?
Anzeige
Wegen der Hajo-Pause...
11.03.2011 19:06:06
Luc:-?
…Da könnte man noch ein besonderes Kennzeichen oder besser einen speziellen Dateinamenszusatz vereinbaren, der dann benutzt wdn muss, um die Datei als unfertig zu kennzeichnen. Lässt sich auch noch alles einbauen…
Luc :-?
Zusatzfrage: Zellen statt Spalten?
11.03.2011 19:11:48
Jörg-HH
Hi Luc
warum steht hier hingter Range("B3:C#,... ein C statt, wie ich denken würde, ein B?
Zweite Frage: Könnte ich hinter Range("... statt der Spalten auch eine Auflistung diverser einzeln stehender Zellen setzen?
Grüße - Jörg
1.Er hat B u.C geschrieben, 2.Ja! Gruß owT
11.03.2011 19:16:20
Luc:-?
:-?
wären dann C1 und C2 eingeschlosen? oT
11.03.2011 19:22:19
Jörg-HH
Nein, da es erst bei Zeile 3 beginnt! # muss...
11.03.2011 21:02:19
Luc:-?
…dann natürl ≥3 gewählt wdn, Jörg!
Das ist wie in Xl üblich; B3:C2 würde Xl bei Direkteingabe sofort in B2:C3 ändern — hier kommt's dann zum Crash! Das solltest du aber bereits wissen!
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige