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

Forumthread: Meldung, wenn Mussfeld nicht eingetragen wurde

Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 12:03:03
dirtyharry
hallo zusammen,
ich bastle momentan an einer Tabelle herum, wobei in die Spalte A unbedingt etwas eingegeben werden muss. Allerdings nur, wenn in der Spalte D etwas eingegeben wurde.
Daher meine Frage: Wie kann man eine Meldung erscheinen lassen, die den Benutzer darauf aufmerksam macht, dass er in der Spalte A noch etwas einzugeben hat, wenn in der Spalte D etwas eingetragen wurde? bzw. dass der Benutzer gar nicht weiterarbeiten kann, solange er in Spalte A nichts eingegeben hat?
Danke schon jetzt für eure Hilfe,
Harald
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 12:22:24
Matthias
Hallo Harald,
Teste dies mal:
(ins Modul des Tabellenblattes):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range, ber As Range
Set ber = Intersect(Target, Range("D:D"))
If Not ber Is Nothing Then
For Each z In ber
If z.Value <> "" Then
If Cells(z.Row, 1) = "" Then
Me.ScrollArea = Cells(z.Row, 1).Address
Cells(z.Row, 1).Select
MsgBox "Sie müssen in Spalte A auch was stehen haben!"
End If
End If
Next z
End If
Set ber = Intersect(Target, Range("A:A"))
If Not ber Is Nothing Then
If ber.Value <> "" And Me.ScrollArea <> "" Then
Me.ScrollArea = ""
ber.Offset(1, 3).Select
End If
End If
End Sub

Gruß Matthias
Anzeige
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 12:45:24
dirtyharry
danke für den code, aber da tut sich gar nichts.
Die messagebox erscheint nicht und man kann auch ganz normal weiterarbeiten.
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 12:57:05
Matthias
Hallo Harald,
hast du den Code auch ins Tabellenblattmodul gesetzt?
Gruß Matthias
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 13:13:01
dirtyharry
ja, direkt zum tabellenblatt, welches betroffen ist.
Anzeige
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 13:15:33
Eule
Hi Harald, hi Matthias
Code funktioniert 1a und ist genial!
gruss Eule
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 13:20:28
Matthias
Hallo Eule,
naja, 1b... es kam zum Fehler, wenn die ganze Spalte D gelöscht wird.
Besser:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Range, ber As Range
Set ber = Intersect(Target, Range("D:D"))
If Not ber Is Nothing Then
If ber(1).Value <> "" Then
For Each z In ber
If Cells(z.Row, 1) = "" Then
Me.ScrollArea = Cells(z.Row, 1).Address
Cells(z.Row, 1).Select
MsgBox "Sie müssen in Spalte A auch was stehen haben!"
End If
Next z
End If
End If
Set ber = Intersect(Target, Range("A:A"))
If Not ber Is Nothing Then
If ber.Value <> "" And Me.ScrollArea <> "" Then
Me.ScrollArea = ""
ber.Offset(1, 3).Select
End If
End If
End Sub

GRuß Matthias
Anzeige
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 13:29:51
Eule
Hi Matthias
so weit habe ich garnicht getestet. Aber wenn wir schon mal dabei sind, Zellen in Spalte A, die bereits gefüllt sind, müssten geschützt/gesperrt werden, damit diese nicht mehr gelöscht werden können (bei bereits erfolgter Befüllung von Spalte D)
Gruss Eule
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 13:37:39
Matthias
Hallo Eule,
Zellen in Spalte A, die bereits gefüllt sind, müssten geschützt/gesperrt werden, damit diese nicht mehr gelöscht werden können (bei bereits erfolgter Befüllung von Spalte D)
Wer sagt das?
Gruß Matthias
Anzeige
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 13:40:03
Eule
Hi Matthias
sagt niemand, habe beim Testen dies nur festgestellt, nachdem Du deinen "Schönheitsfehler" festgestellt hast.
Gruss Eule
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 13:43:55
Matthias
Hallo Eule,
achso, jetzt verstehe ich. :-)
Naja, mal schaun, ob Dirty Harry das überhaupt soweit hinkriegt.
Gruß Matthias
EnableEvents, oder was ?
19.08.2005 14:01:40
Harald
Hi Dirty Harry,
im Rahmen von Ereignissen wie z.B. Worksheet_Change wird zu Anfang EnableEvents oftmals auf False gesetzt und bei Codeabbruch nicht wieder auf True.
Das weiß ich aus schmerzlicher Erfahrung, daher hab ich diesen flotten Einzeiler, der mir bei Ereignis-Bastelstunden hilfreich zur Seite steht ;-))

Sub til()
Application.EnableEvents = True
End Sub

Matthias: Schöne Programmierarbeit
Gruß
Harald
Anzeige
AW: Meldung, wenn Mussfeld nicht eingetragen wurde
19.08.2005 14:34:11
dirtyharry
mit der neuen formel funzt es einwandfrei, herzlichen dank an euer bemühen.
zu der von glaub ich eule gestellten frage, zum schutz/zur sperrung von zellen, in denen was eingetragen wurde, empfehle ich folgenden code:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim RaZelle As Range
'    ActiveSheet.Unprotect
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, Range("D1:D999")) Is Nothing Then
If RaZelle <> "" Then Target.Offset(0, 1).Select
End If
Next RaZelle
'    ActiveSheet.protect
End Sub

also kann man auf die ausgefüllten Zellen im Bereich D1:D999 nicht mehr zugreifen.
danke nochmals und ein schönes wochenende!!!
Harald
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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