Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1472to1476
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 mit MSG Box (Betätigung Button)

Pflichtfelder mit MSG Box (Betätigung Button)
09.02.2016 15:27:11
Rene
Hallo zusammen,
ich habe Pflichtfelder und wenn diese vergessen werden, dann soll eine MSG Box erscheinen, am besten soll dies erscheinen nach betätigen eines Button aber das habe ich noch nicht so herausgefunden.
Derzeitige Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Pflichtfelder müssen noch ausgefüllt werden
Dim c As Range
For Each c In Worksheets(2).Range("B4,B6,B8,B10,B12,H8,H12,H14")
If c = "" Then
Cancel = True
c.Interior.ColorIndex = 36
MsgBox c.Address & " muss noch ausgefüllt werden"
c.Parent.Select
c.Activate
Exit For
End If
If c >= "" Then
Cancel = False
c.Interior.ColorIndex = 0
MsgBox "Hast du fein gemacht nimm dir einen Keks"
c.Parent.Select
c.Activate
Exit For
End If
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Pflichtfelder mit MSG Box (Betätigung Button)
09.02.2016 17:04:52
Jörn
Hi Rene,
Mir ist spontan aufgefallen, dass Du zweimal die gleichen Bedingungen bei Deiner IF- _ Unterscheidung hast... beide Male hast Du c="" integriert. Da Du nur zwei Bedingungen hast, würde ich auf die zweite verzichten und einfach

else
schreiben.
Wenn Du das Makro auf Knopfdruck ausführen willst, musst Du einen Button erstellen und dort bei der Aktion "ChangebyClick" Deinen Code hineinschreiben.
Vielleicht könntest Du einfach mal schreiben, was ansonsten nicht funktioniert?!?

AW: Pflichtfelder mit MSG Box (Betätigung Button)
09.02.2016 17:15:39
Rene
Vielen Dank für die Antwort und den Tipp.
Ich habe ein Formular, dass hat bestimme Pflichtfelder, wie oben beschrieben, dann gibt es ein Button der die Pflichtfelder plus weitere Felder in eine andere Tabelle wegschreibt (ausließt), bevor aber die Auslese stattfindet will ich eine Prüfung haben, die mir sagt. "Du hast nicht alle Pflichtfelder ausgelesen". Das ist der Breich um den Button handelt es:
Private Sub AbschliessenButton_Click()
Dim PfadA As String
Dim PfadF As String
'Hier werden die Pfade bestimmt an denen die Auswertungsdateien liegen. Werden diese  _
Dateien dort nicht gefunden gibt es Fehlen
'Aktuell wird erwartet das die Auswertungsdateien im gleichen Ordner stecken ( _
ActiveWorkbook.Path)
PfadA = ActiveWorkbook.Path & "\Ergebnis_Zeitaufnahme_1.xlsx"
'Hiermit wird das Sub weiter unten aufgerufen, darin werden die Daten übertragen
Call MappeBeschreiben(PfadA, PfadF)
'Das Datum wurde bisher per formel eingetragen, nach Abschluss des Audits, darf dieses  _
Datum nicht weiter aktualisiert werden
'Darum erst Formel löschen
Worksheets(2).Range("F4").Formula = ""
'Dann aktuelles Datum eintragen
Worksheets(2).Range("F4").Value = Date
'Abschließend muss verhindert werden, dass das gleiche Audit 2 mal in den Daten erfasst  _
wird.
'Darum wird der Button deaktiviert
'AbschliessenButton.Enabled = False'
End Sub

Anzeige
AW: Pflichtfelder mit MSG Box (Betätigung Button)
10.02.2016 09:33:59
Jörn
Hi Rene,
ich würde an Deiner Stelle ein Makro schreiben, dass dann in Deinem oben genannten Makro einfach als erstes aufgerufen wird. Dieses Makro könnte so aussehen: Ich habe Deinen Code etwas verändert:
Private Sub Zellenausgefüllt()
ActiveWorkbook.Names.Add Name:="ZuTesten", RefersTo:= _
"=Tabelle1!B4,Tabelle1!B6,Tabelle1!B8,Tabelle1!B10,Tabelle1!B12,Tabelle1!H8,Tabelle1! _
H12,Tabelle1!H14"
Dim c As Range
Dim Leer As String
Dim Meldung As String
Dim a As String
Meldung = ""
For Each c In Tabelle1.[ZuTesten]
If c.Value = "" Then
c.Interior.ColorIndex = 36
a = Meldung
Leer = c.Address
Meldung = a & "  " & Leer & "  "
Tabelle1.Range("A1").Value = 1
Else
c.Interior.ColorIndex = 0
End If
Next
If Tabelle1.Range("A1").Value = 1 Then
MsgBox "Bitte füllen sie noch folgende Felder aus:" & Meldung
Else
MsgBox "Hast du fein gemacht nimm dir einen Keks!"
End If
Tabelle1.Range("A1").Value = ""
End Sub
In Deinem Makro oben schreibst Du dann einfach nach der Deklarierung Deiner Pfade
call Zellenausgefüllt

und das ganze sollte funktionieren.
Du musst dann nur noch machen, dass Dein Makro auch abbricht, wenn die Zellen nicht ausgefüllt sind. Das könntest Du schaffen indem Du irgendeine Zelle nimmt, diese in dem Prüf-Makro = 1 setzt, und dann in dem Button-Klick-Makro abfragst, ob diese Zelle = 1 oder =0 ist. Und dann dementsprechend "Exit Sub" einfügen... ich hoffe das war einigermaßen verständlich ;-)

Anzeige
AW: Pflichtfelder mit MSG Box (Betätigung Button)
10.02.2016 10:39:25
Rene
Okay, soll ich in direkt in die Arbeitsmappe implementieren oder in in den Bereich des Button,
die Deklarierung der Pfade habe ich vorgenommen aber was kommt in den bereich :="ZuTesten",

AW: Pflichtfelder mit MSG Box (Betätigung Button)
10.02.2016 09:42:01
Jörn
Hi Rene,
versuche mal diesen Code:
Private Sub Zellenausgefüllt()
ActiveWorkbook.Names.Add Name:="ZuTesten", RefersTo:= _
"=Tabelle1!B4,Tabelle1!B6,Tabelle1!B8,Tabelle1!B10,Tabelle1!B12,Tabelle1!H8,Tabelle1! _
H12,Tabelle1!H14"
Dim c As Range
Dim Leer As String
Dim Meldung As String
Dim a As String
Meldung = ""
For Each c In Tabelle1.[ZuTesten]
If c.Value = "" Then
c.Interior.ColorIndex = 36
a = Meldung
Leer = c.Address
Meldung = a & "  " & Leer & "  "
Tabelle1.Range("A1").Value = 1
Else
c.Interior.ColorIndex = 0
End If
Next
If Tabelle1.Range("A1").Value = 1 Then
MsgBox "Bitte füllen sie noch folgende Felder aus:" & Meldung
Else
MsgBox "Hast du fein gemacht nimm dir einen Keks!"
End If
Tabelle1.Range("A1").Value = ""
End Sub
Um dieses Makro dann direkt bei Buttonklick zu starten musst Du in Deinen Code, ganz am Anfang, direkt nach der Deklarierung Deiner Pfade einfach
call Zellenausgefüllt
schreiben.
Außerdem solltest Du vielleicht irgendwo eine Marke setzen, damit Dein Button-Klick-Makro weiß, dass es abbrechen soll. Setze z.B. irgendeine Zelle =1, wenn es eine leere Zelle gibt. Und diese Zelle fragst Du dann in Deinem Button-Click-Makro ab und beendest ggf. mit
Exit Sub
den vorgang. Passt das so?
Gruß Jörn

Anzeige
AW: Pflichtfelder mit MSG Box (Betätigung Button)
10.02.2016 15:13:34
Rene
Sehr schön danke :)))

AW: Pflichtfelder mit MSG Box (Betätigung Button)
10.02.2016 15:43:13
Rene
Ich habe ein Fehler?
Userbild

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige