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

Forumthread: Bei festgelegtem Zellwert die Zeile prüfen

Bei festgelegtem Zellwert die Zeile prüfen
18.11.2015 14:18:27
Christian
Hallo zusammen,
als Basis erstmal folgende Information:
Ich habe ein Tabellenblatt mit einem von mir definierten Arbeitsbereich, in dem jede Zeile (von Zeile 11 bis 110) für einen Datensatz steht.
Ein Datensatz hat in verschiedenen Spalten festgelegte Pflichfelder, diese verfärben sich bei nichtbefüllung. In der letzten Spalte "M" muss man angeben ob der Datensatz von der Bearbeitung her erledigt ist - ein simples Ja/Nein.
Meine Frage wäre wie ich in VBA den Code schreiben muss, dass sobald in Spalte "M" ein "Ja" steht, die Zeile auf offene Pflichtfelder prüft und bei fehlem von einem oder mehreren Felder eine Messagebox aufploppt und daraufhinweist, dass nicht alle Pflichtfelder gefüllt sind.
Die Pflichtfelder sind für alle Zeilen in den selben Spalten.(B,C,D,E,F,H)
Vielen Lieben Dank im voraus!
Gruß
Christian

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: warum muss es unbedingt "aufploppen"? ...
18.11.2015 14:23:37
...
Hallo Christian,
... mE würde doch eine einfache kräftige Hintergrundfarbe in den leeren Zellen reichen und dafür wäre wiederum eine einfach bedingte Formatierung ausreichend sein.
Gruß Werner
.. , - ...

AW: warum muss es unbedingt "aufploppen"? ...
18.11.2015 14:31:14
Christian
Hallo Werner,
die Datensätze, die als erledigt markiert wurden, werden später per vba herauskopiert und in einem anderen Tabellenblatt gespeichert. Diese Daten sind dann statisch und sollen/dürfen nicht mehr angefasst werden.
Da dieser Datentransfer manuell ausgelöst wird, werden alle erledigten unabhängig von den Pflichtfeldern übernommen. Ich möchte sicherstellen, dass keine unvollständigen Datensätze verschoben werden.
Deshalb will ich dem Benutzer direkt ein Feedback geben, wenn er einen unvollständigen Datensatz als erledigt kennzeichnet. Bislang färben sich die Zellen auch bei nichtbefüllen - leider wird dies des öfteren ignoriert was zu unvollständigen Datensätzen führt (typisch Mensch?).
Viele Grüße
Christian

Anzeige
AW: Bei festgelegtem Zellwert die Zeile prüfen
18.11.2015 14:30:05
Matthias
Hallo
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x&
If Not Intersect(Target, Range("M11:M110")) Is Nothing Then
If Target = "Ja" Then
For x = 2 To 8
If x  7 Then
If Cells(Target.Row, x) = "" Then MsgBox "mind.ein Pflichtfeld ist nicht ausgefüllt":  _
Application.Undo
End If
Next
End If
End If
End Sub
Gruß Matthias

Anzeige
Korrektur ...
18.11.2015 14:37:12
Matthias
Hallo
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x&
If Not Intersect(Target, Range("M11:M110")) Is Nothing Then
If Target = "Ja" Then
For x = 2 To 8
If x  7 Then
If Cells(Target.Row, x) = "" Then
MsgBox "mind.ein Pflichtfeld ist nicht ausgefüllt"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
Exit For
End If
End If
Next
End If
End If
End Sub
Gruß Matthias

Anzeige
AW: Korrektur ...
18.11.2015 14:41:51
Christian
Hallo Matthias,
vielen lieben Dank!
Das funktioniert bestens. Das "Ja" wird gar nicht erst aktzeptiert was auch verhindert, das der Datensatz lückenhaft übertragen wird.
Viele Grüße
Christian
;

Forumthreads zu verwandten Themen

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