Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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

Mehrere abfragen mittels MsgBox

Mehrere abfragen mittels MsgBox
04.02.2021 18:54:13
Fanny
Guten Abend Forum, ist es eigentlich möglich mehrere Abfragen zu machen wenn etwas fehlt? Ich habe eine Excel Datei mit sagen wir 5 Zellen, in eine wird der Vorname, andere Nachname, wieder andere Straße usw. eingegeben. Alle diese Zellen sind auch für ihren Inhalt benannt. Also Vorname = BEREICHSNAME:Vorname usw. Jetzt wird eine oder vielleicht 2 Zellen nicht ausgefüllt, dann soll eine MsgBox darauf hinweisen, was fehlt. Zb.: Vorname nicht angegeben, oder Straße nicht angegeben usw. Man sollte jedoch auch nicht weiter kommen, tritt solch ein Fall ein.
Ist das überhaupt möglich? Danke für eure Hilfe, bis gleich Fanny

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere abfragen mittels MsgBox
04.02.2021 19:18:14
Piet
Hallo Funny
es gibt zwei verschiedene Makros die dafür in Frage kommen. Das eine wird über einen Button gestartet, das andere durch die direkte Eingabe von Text in eine Zelle (Tabelle). Ich habe dir mal zwei Beispiele hochgeladen. Ich hoffe du kannst damit etwas anfangen. Das erste Makro gehört in ein Tabellenblatt, das zweite Makro in ein normles Modul.
mfg Piet

'dieses Makro gehört ins Tabellenblatt wo du eingibst.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Txt As String
On Error GoTo Fehler
If Target.Count > 1 Then Exit Sub
If Target.Address  "$D$2" Then Exit Sub
If Range("A2") = "" Then Txt = "Vorname fehlt" & vbLf
If Range("B2") = "" Then Txt = "Fam.name fehlt" & vbLf
If Range("C2") = "" Then Txt = "Strasse fehlt" & vbLf
If Range("D2") = "" Then Txt = "PLZ fehlt" & vbLf
If Range("D2") = "" Then Txt = "Ort fehlt" & vbLf
If Txt  "" Then MsgBox "Eingabe wird verweigert" & vnlf & Txt: Exit Sub
'Hier kann dein Programm stehen um die Eingabe zu verarbeiten!
Application.EnableEvents = False   'verhindert wiederholte Eingaben
Fehler:  Application.EnableEvents = True
End Sub

'Modulblatt  (Modul1)
'Makro für intelligenten Autofilter!!
'filtert auch verknüpfte Werte, zwei Texte
Sub Button_BeiKlick()
Dim Txt As String
'Der Range Bereich laesst sich auf deine Tabelle aendern!
If Range("A2").Value = "" Then Txt = "Vorname fehlt" & vbLf
If Range("B2").Value = "" Then Txt = "Fam.name fehlt" & vbLf
If Range("C2").Value = "" Then Txt = "Strasse fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "PLZ fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "Ort fehlt" & vbLf
If Txt  "" Then MsgBox "Eingabe wird verweigert" & vnlf & Txt: Exit Sub
'Hier kann dein Programm stehen um die Eingabe zu verarbeiten!
End Sub

Anzeige
AW: Mehrere abfragen mittels MsgBox
04.02.2021 19:32:28
Fanny
Guten Abend Piet, musste gerade schmunzeln, ich heiße FANNY nicht FUNNY! Danke für deine Hilfe, ich würde mich für den ersten Code entscheiden, da es ja meines Wissens eine Möglichkeit gibt, wenn ich das Tabellenblatt wechsle, dass das Makro ausgelöst wird. Da ich jedoch nicht allzu viel von dem verstehe, könntest du mir den ersten Code eventuell Zeile für Zeile erklären? Wenn es keine Umstände macht natürlich. Fanny
AW: Mehrere abfragen mittels MsgBox
05.02.2021 06:58:00
Fanny
Guten Morgen, Leider hat mich Piet in Stich gelassen. Ich habe eben mal den Code ausprobiert, wenn ich dabei halbwegs Logisch denke, könnte ich ihn verstehen, doch auch wenn die Prozedur abgebrochen wird, ist es möglich das Tabellenblatt zu speichern und schließen bzw verlassen, das sollte nicht der Fall sein. Es sollte so lange darauf hingewiesen werden, bis alle Zellen ausgefüllt sind. Danke Fanny
Anzeige
Weitere Hilfe erbeten
05.02.2021 07:06:42
Fanny
Guten Morgen, Leider hat mich Piet in Stich gelassen. Ich habe eben mal den Code ausprobiert, wenn ich dabei halbwegs Logisch denke, könnte ich ihn verstehen, doch auch wenn die Prozedur abgebrochen wird, ist es möglich das Tabellenblatt zu speichern und schließen bzw verlassen, das sollte nicht der Fall sein. Es sollte so lange darauf hingewiesen werden, bis alle Zellen ausgefüllt sind. Danke Fanny
AW: Mehrere abfragen mittels MsgBox
05.02.2021 07:09:14
Fanny
Guten Morgen, Leider hat mich Piet in Stich gelassen. Ich habe eben mal den Code ausprobiert, wenn ich dabei halbwegs Logisch denke, könnte ich ihn verstehen, doch auch wenn die Prozedur abgebrochen wird, ist es möglich das Tabellenblatt zu speichern und schließen bzw verlassen, das sollte nicht der Fall sein. Es sollte so lange darauf hingewiesen werden, bis alle Zellen ausgefüllt sind. Danke Fanny
Anzeige
AW: Mehrere abfragen mittels MsgBox
05.02.2021 07:08:17
Fanny
Guten Morgen, Leider hat mich Piet in Stich gelassen. Ich habe eben mal den Code ausprobiert, wenn ich dabei halbwegs Logisch denke, könnte ich ihn verstehen, doch auch wenn die Prozedur abgebrochen wird, ist es möglich das Tabellenblatt zu speichern und schließen bzw verlassen, das sollte nicht der Fall sein. Es sollte so lange darauf hingewiesen werden, bis alle Zellen ausgefüllt sind. Danke Fanny
AW: Mehrere abfragen mittels MsgBox
05.02.2021 08:45:40
ChrisL
Hi funny Fanny
Der arme Piet darf nicht mal Pause machen und schlafen :)
Und deine User auch nicht. Mal zwischenspeichern und am nächsten Tag weiter machen ist nicht drin.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Txt As String
'Der Range Bereich laesst sich auf deine Tabelle aendern!
If Range("A2").Value = "" Then Txt = "Vorname fehlt" & vbLf
If Range("B2").Value = "" Then Txt = "Fam.name fehlt" & vbLf
If Range("C2").Value = "" Then Txt = "Strasse fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "PLZ fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "Ort fehlt" & vbLf
If Txt  "" Then MsgBox "Schliessen wird verweigert" & vbLf & Txt: Cancel = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Txt As String
'Der Range Bereich laesst sich auf deine Tabelle aendern!
If Range("A2").Value = "" Then Txt = "Vorname fehlt" & vbLf
If Range("B2").Value = "" Then Txt = "Fam.name fehlt" & vbLf
If Range("C2").Value = "" Then Txt = "Strasse fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "PLZ fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "Ort fehlt" & vbLf
If Txt  "" Then MsgBox "Speichern wird verweigert" & vbLf & Txt: Cancel = True
End Sub
cu
Chris
Anzeige
AW: Noch nicht ganz
05.02.2021 10:17:11
Fanny
Einen schönen Vormittag Chris, dankeschön für deine Hilfe, habe den Code etwas erweitert, jedoch ohne Erfolg! Es soll ja so sein, wenn das Blatt nicht korrekt ausgefüllt ist, komme ich zurück, wenn dann alles korrekt ist, darf ich ins nächste TB. Jedoch kann ich jetzt nicht auf das 2. Blatt wechseln, es springt immer zurück! Was stimmt da nicht? Bis gleich Fanny
Private Sub Worksheet_Deactivate()
Dim Txt As String
'Der Range Bereich laesst sich auf deine Tabelle aendern!
If Range("A2").Value = "" Then Txt = "Vorname fehlt" & vbLf
If Range("B2").Value = "" Then Txt = "Fam.name fehlt" & vbLf
If Range("C2").Value = "" Then Txt = "Strasse fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "PLZ fehlt" & vbLf
If Range("e2").Value = "" Then Txt = "Ort fehlt" & vbLf
If Txt  "" Then MsgBox "Speichern wird verweigert" & vbLf & Txt: Cancel = True
If True Then
Sheets(1).Activate
End If
End Sub

Anzeige
AW: Noch nicht ganz
05.02.2021 10:52:27
ChrisL
Hi
Z.B. so...
Private Sub Worksheet_Deactivate()
Dim Txt As String
'Der Range Bereich laesst sich auf deine Tabelle aendern!
If Range("A2").Value = "" Then Txt = "Vorname fehlt" & vbLf
If Range("B2").Value = "" Then Txt = "Fam.name fehlt" & vbLf
If Range("C2").Value = "" Then Txt = "Strasse fehlt" & vbLf
If Range("D2").Value = "" Then Txt = "PLZ fehlt" & vbLf
If Range("e2").Value = "" Then Txt = "Ort fehlt" & vbLf
If Txt  "" Then MsgBox "Speichern wird verweigert" & vbLf & Txt: Sheets(1).Activate
End Sub
cu
Chris
Anzeige
Dankeschön
05.02.2021 13:15:02
Fanny
Hallo ChrisL, genau das habe ich gesucht! Funktioniert super! Dankeschön, Liebe Grüße und schönes WE, Fanny
Und dir lieber ralf_b darf ich auf diesem Wege mitteilen: Erst alles lesen dann schrei(b)en- für die Zukunft.
AW: Noch nicht ganz
05.02.2021 10:53:05
ralf_b
was soll denn das für ein Vergleich sein? "If True Then" wer oder was ist denn "true"

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige