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
1456to1460
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

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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige