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

Forumthread: Mehrere Bereiche auf Werte Prüfen schlägt fehl

Mehrere Bereiche auf Werte Prüfen schlägt fehl
17.03.2014 15:07:56
Thomas
Hallo, ich lese schon ne ganze Weile und suche und suche, werd aber nicht fündig.
Ich möchte gern sowas wie pflichtfelder erstellen. Soll heißen, wenn in Zell B6 etwas steht, dann muss auch in Zelle C6, D6 und F6 etwas stehen. Ansonsten gibt es eine Fehlermeldung. Ich hab mit überlegt, dass ich zunächst prüfe welches die letzte genutzte zeile in spalte B ist und anschließend einfach die übrigen "pflichtfelder" in derselben range zu prüfen.
Private Sub CommandButton3_Click()
Dim Zeile As Long
Zeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
If ActiveSheet.Range(Cells(6, 2), Cells(Zeile, 2)) = 0 Or ActiveSheet.Range(Cells(6, 3), Cells(Zeile, 3)) = 0 Or ActiveSheet.Range(Cells(6, 4), Cells(Zeile, 4)) = 0 Or ActiveSheet.Range(Cells(6, 6), Cells(Zeile, 6)) = 0 Then
MsgBox "Es müssen alle Pflichtfelder ausgefüllt sein"
End
End If
Führt jedoch leider immer zu "typen unverträglich". Wäre schön, wenn einer eine Lösung hätte.
Danke
Theomas

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das ist deshalb der Fall, weil ...
17.03.2014 15:25:49
Luc:-?
ActiveSheet.Range(Cells(6, 2), Cells(Zeile, 2)) eine ganze TeilSpalte umfasst, Thomas,
nämlich B6:Bz (z=Zeile). Das kann nur in Xl direkt mit einem Skalar vglichen wdn, nicht aber in VBA. Außerdem liest sich deine Formulierung nicht so, als ob du das tatsächlich beabsichtigt hättest.
Gruß Luc :-?
Besser informiert mit …

Anzeige
AW: Mehrere Bereiche auf Werte Prüfen schlägt fehl
17.03.2014 15:43:13
Rudi
Hallo,
Private Sub CommandButton3_Click()
Dim Zeile As Long, rng As Range
Zeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Range(Cells(6, 2), Cells(Zeile, 2))
If WorksheetFunction.CountA(rng)  (Zeile - 5) Or _
WorksheetFunction.CountA(rng.Offset(, 1))  (Zeile - 5) Or _
WorksheetFunction.CountA(rng.Offset(, 2))  (Zeile - 5) Or _
WorksheetFunction.CountA(rng.Offset(, 4))  (Zeile - 5) Then
MsgBox "Es müssen alle Pflichtfelder ausgefüllt sein"
End If
End Sub

Gruß
Rudi

Anzeige
AW: Mehrere Bereiche auf Werte Prüfen schlägt fehl
21.03.2014 14:45:39
Thomas
Super. Klappt. Danke!
;

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