Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Pflichfelder vor Speichern

Pflichfelder vor Speichern
Markus
Hallo Zusammen
Ich möchte gerne eine Excel-Datei erstellen wo gewisse Pflichtfelder ausgefüllt werden müssen.
Wenn in Spalte A (z.B.: A2) ein Eintrag (Datum) vorhanden ist, muss ebenfalls in Spalte M (M2) einen Eintrag (Visum) gemacht werden.
Dasselbe bei:
Spalte I (I2) Datum
Spalte J (J2) Visum (muss)
Das ganze sollte sich auch das gesammte Arbeitsblatt beziehen.
Optimal wäre es, wenn nach der Meldung (Zuerst Plichtfeld ausfüllen) gerade die entsprechende Zelle für die Eingabe aktiviert ist.
Registername: 2011
Gruss Markus
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pflichfelder vor Speichern
03.11.2011 06:32:57
marcl
Guten Morgen Markus,
in VBA geht das so:
VBA-Editor Öffnen (Tasten Alr und F11)
In "DieseArbeitsmappe" folgendes eintragen:
Sub Workbooks_beforeClose(Cancel As Boolean)
Dim hinweis
' cells(Zeile, Spalte)
If Cells(2, 1)  "" And Cells(2, 13) = "" Then
hinweis = MsgBox("Bitte Pflichtfelder ausfüllen!", vbCritical)
Cells(2,13).Select
Exit Sub
ElseIf Cells(9, 1)  "" And Cells(10, 13) = "" Then
hinweis = MsgBox("Bitte Pflichtfelder ausfüllen!", vbCritical)
Cells(10,13).Select
Exit Sub
End If
End Sub
Gruß
marcl
Anzeige
AW: Pflichfelder vor Speichern
03.11.2011 19:43:14
Markus
Hallo Marcl
geht leider nicht ... :-(
Liegt es etwa daran,weil die obersten Zellen C1-Q1 miteinander verbunden sind?
Habe soeben eine Musterdatei hochgeladen.
Musste sie leider zippen
https://www.herber.de/bbs/user/77345.zip
Gruss Markus
Anzeige
AW: Pflichfelder vor Speichern
03.11.2011 19:43:30
Markus
Hallo Marcl
geht leider nicht ... :-(
Liegt es etwa daran,weil die obersten Zellen C1-Q1 miteinander verbunden sind?
Habe soeben eine Musterdatei hochgeladen.
Musste sie leider zippen
https://www.herber.de/bbs/user/77345.zip
Gruss Markus
Anzeige
AW: Pflichfelder vor Speichern
03.11.2011 23:29:25
Markus
Sorry wegen dem "Doppelbeitrag"
Habe in der Zwischenzeit etwas ausprobiert, resp. gegoogelt ;-)
Folgender VBA Code funktioniert, aber Leider nur in der Zeile 2
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim hinweis
' cells(Zeile, Spalte)
If Cells(2, 1)  "" And Cells(2, 13) = "" Then
hinweis = MsgBox("Bitte Pflichtfelder ausfüllen!", vbCritical)
Cells(2, 13).Select
Exit Sub
ElseIf Cells(2, 9)  "" And Cells(2, 10) = "" Then
hinweis = MsgBox("Bitte Pflichtfelder ausfüllen!", vbCritical)
Cells(2, 10).Select
Exit Sub
End If
End Sub
Wie erreiche ich, dass die Pflichteingabe Zeile für Zeile (von Zeile 2 bis Zeile 1048576), also im ganzen Tabellenblatt funktioniert?
Gruss Markus
Anzeige
AW: Pflichtfelder vor Speichern
04.11.2011 21:57:58
Markus
Hallo zusammen
Kann mir niemand helfen ?
Gruss Markus
AW: Pflichtfelder vor Speichern
04.11.2011 21:58:13
Markus
Hallo zusammen
Kann mir niemand helfen ?
Gruss Markus
Hilfe
06.11.2011 15:02:30
Markus
Hallo zusammen
Kann mir wirklich keiner helfen ?
Gruss Markus
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Pflichtfelder in Excel vor dem Speichern aktivieren


Schritt-für-Schritt-Anleitung

Um Pflichtfelder in Excel zu definieren und sicherzustellen, dass diese vor dem Speichern ausgefüllt sind, kannst du den folgenden VBA-Code verwenden. Dieser Code überprüft bestimmte Zellen und gibt eine Warnmeldung aus, wenn Pflichtfelder nicht ausgefüllt sind.

  1. Öffne den VBA-Editor: Drücke ALT + F11.
  2. Wähle "DieseArbeitsmappe" aus dem Projektfenster.
  3. Füge den folgenden Code ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim hinweis As String
    Dim i As Long

    For i = 2 To 1048576 ' Überprüft alle Zeilen von 2 bis zur maximalen Zeile
        If Cells(i, 1).Value <> "" And Cells(i, 13).Value = "" Then
            hinweis = "Bitte Pflichtfelder in Zeile " & i & " ausfüllen!"
            MsgBox hinweis, vbCritical
            Cells(i, 13).Select
            Cancel = True
            Exit Sub
        ElseIf Cells(i, 9).Value <> "" And Cells(i, 10).Value = "" Then
            hinweis = "Bitte Pflichtfelder in Zeile " & i & " ausfüllen!"
            MsgBox hinweis, vbCritical
            Cells(i, 10).Select
            Cancel = True
            Exit Sub
        End If
    Next i
End Sub
  1. Speichere deine Änderungen und schließe den VBA-Editor.
  2. Teste die Funktion: Versuche, die Datei zu speichern, ohne die Pflichtfelder auszufüllen.

Häufige Fehler und Lösungen

Fehler: "Geht leider nicht" oder keine Meldung wird angezeigt.
Lösung: Überprüfe, ob die Zellen in der Tabelle korrekt referenziert sind. Achte darauf, dass keine Zellen verbunden sind, die überprüft werden sollen.

Fehler: Meldung erscheint nur für Zeile 2.
Lösung: Stelle sicher, dass der Code die Schleife über alle relevanten Zeilen durchläuft, wie im obigen Beispiel gezeigt.


Alternative Methoden

Neben VBA kannst du auch Datenüberprüfung verwenden, um sicherzustellen, dass bestimmte Zellen nicht leer sind:

  1. Wähle die Zelle aus, die überprüft werden soll.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle Benutzerdefiniert und gib eine Formel ein, die die Bedingung für das Pflichtfeld definiert, z.B. =A2<>"".

Diese Methode ist jedoch weniger flexibel als die Verwendung von VBA, da sie nicht den gesamten Bereich abdeckt.


Praktische Beispiele

Angenommen, du möchtest, dass in Zeile 2 die Zellen A2 und M2 (Visum) ausgefüllt werden müssen, wenn A2 ein Datum enthält. Der oben genannte VBA-Code erfüllt genau diese Anforderung.

Wenn du die Pflichtfelder in einer Tabelle für mehrere Zeilen definieren möchtest, kannst du den Code leicht anpassen, um andere Zellen hinzuzufügen. Ersetze die Zellenreferenzen nach Bedarf.


Tipps für Profis

  • Verwende benannte Bereiche: Benannte Bereiche in Excel können helfen, deinen VBA-Code übersichtlicher zu gestalten.
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung im VBA-Code, um sicherzustellen, dass unerwartete Eingaben besser verwaltet werden.
  • Testen vor der Verwendung: Teste den Code in einer Kopie deiner Datei, um sicherzustellen, dass alles wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Wie viele Pflichtfelder kann ich definieren?
Du kannst so viele Pflichtfelder definieren, wie du möchtest. Achte jedoch darauf, den Code entsprechend anzupassen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, jedoch ist es ratsam, ihn in Excel 2010 oder neuer zu testen.

3. Was passiert, wenn ich die Datei ohne Ausfüllen der Pflichtfelder speichere?
Die Datei wird nicht gespeichert, und du erhältst eine Warnmeldung, die dich auffordert, die Pflichtfelder auszufüllen.

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