Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1868to1872
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

Überprüfung mehrerer Zellen

Überprüfung mehrerer Zellen
19.02.2022 20:34:09
Thomas
Hallo ich bin auf der Suche nach einer cleveren Lösung für folgendes Problem
In 4 Untereinanderliegenden Zellen können Werte eingetragen werden. Zu Beginn ist in allen 4 Zellen der Wert 0%
Zelle 1 0%
Zelle 2 0%
Zelle 2 0%
Zelle 2 0%
Bedingung für Eintrag in Zelle 1
-Nur Werte 25%, 50%, 75% und 100% zulässig
-In Zellen 2,3,4 darf kein Wert außer 0% eingetragen sein
Zelle 1 25% 50% 75% 100%
Zelle 2 0% 0% 0% 0%
Zelle 3 0% 0% 0% 0%
Zelle 4 0% 0% 0% 0%
Bedingung bei Eintrag in Zelle 2
-Nur wenn Zeile 1 nicht 0% ist
-Der eingetragene Wert muß größer als der Wert in Zelle 1 sein
-Zelle 1 darf nicht 100% haben
- In Zellen 3,4 darf kein Wert außer 0% eingetragen sein
Bedingung bei Eintrag in Zelle 3
-Nur wenn Zeile 1 und oder Zelle 2 nicht 0% ist
-Der eingetragene Wert muß größer als der Wert in Zelle 2 sein
-Zelle 2 darf nicht 100% haben
- In Zelle 4 darf kein Wert außer 0% eingetragen sein
Bedingung bei Eintrag in Zelle 4
-Nur wenn Zeile 1 und/oder Zelle2 und /oder Zelle 3 nicht 0% ist
-Der eingetragene Wert muß 100% sein
-Zelle 3 darf nicht 100% haben
Ich habe begonnen das Ganze mit 4 Fallunterscheidungen Case 0,1,2,3 und IF-Then bedingungen zu lösen. Bei Zelle 2 war das Ganze schon recht umfangreich, ich befürchte, dass es mir Zelle3 und 4 sehr unübersichtlich wird.
Hall jemand eine Idee wie man etwas besser/cleverer lösen kann?

Case 0
varFortschritt(0) = Tabelle1.Cells(ZelleRow, ZelleCol).Offset(iii, 0)  'Offset 0= iii+0 (iii=0)
varFortschritt(1) = Tabelle1.Cells(ZelleRow, ZelleCol).Offset(iii + 1, 0)
varFortschritt(2) = Tabelle1.Cells(ZelleRow, ZelleCol).Offset(iii + 2, 0)
varFortschritt(3) = Tabelle1.Cells(ZelleRow, ZelleCol).Offset(iii + 3, 0)
If varFortschritt(0) setzen Cancel-> 0%
If varFortschritt(1) >= 0 And varFortschritt(0) = 0 Then
mboxcount = MsgBox("Der Projektfortschritt in Zeile " & iii & " ist: " & varFortschritt(0) * 100 & " %" & vbLf _
& "Projektfortschritt in Zeile " & iii & "auf: " & (varFortschritt(0) + 0.25) * 100 & " % setzen ?", vbOKCancel)
If mboxcount = vbOK Then
Tabelle1.Cells(ZelleRow, ZelleCol).Offset(-iii, 0) = varFortschritt(0) + 0.25
Tabelle1.Cells(ZelleRow, ZelleCol) = varFortschritt(0)
End If
If mboxcount = vbCancel Then
Tabelle1.Cells(ZelleRow, ZelleCol) = 0
End If
'Msgbox: Wert in Zeile 1 auf xx? setzen ? JA->setzen Cancel-> 0%
ElseIf varFortschritt(1) 

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Überprüfung mehrerer Zellen
19.02.2022 22:11:05
onur
Mache mal eine Beispielsdatei, wo man auch mal sehen kann, WO diese Zellen sind, ob es mehrere Blöcke davon gibt usw usw.
Mit einem aus dem Zusammenhang gerissenen Codefetzen bringt es nix.
AW: Überprüfung mehrerer Zellen
20.02.2022 11:02:21
Thomas
Hallo,
danke für den Hinweis. Ich habe es mir schon fast gedacht, dass die Datei benötigt wird.
ich habe die Datei jetzt eingefügt.
https://www.herber.de/bbs/user/151247.xlsm
AW: mit Datenüberprüfung reichen 4 Formeln ...
20.02.2022 13:06:46
neopa
Hallo Thomas,
... und zwar mit benutzerdefinierten Formeln z.B. wie folgt:
in E6: =VERGLEICH(E6;5/4-ZEILE($E$1:$E$5)/4;0)*(SUMME(E7:E9)=0)
in E7: =(E6&gt0)*(E7&gtE6)*(E6&lt1)*(E8+E9=0)
in E8: =(E6&gt0)*(E7&gt0)*(E8&gtE7)*(E7&lt1)*(E9=0)
in E9: =(E6&gt0)*(E7&gt0)*(E8&gt0)*(E9=1)
und dies nach rechts kopieren.
Persönlich würde ich es zwar anstelle mit benutzerdefinierter Datenüberprüfung visuell mit den gleichen Formeln in einer bedingten Formatierung lösen oder zumindest mit dieser kombinieren. Dies weil der Nutzer die Datenüberprüfung leichter aushebeln kann.
Gruß Werner
.. , - ...
Anzeige
AW: mit Datenüberprüfung reichen 4 Formeln ...
21.02.2022 19:36:43
Thomas
Hallo Werner,
vielen Dank für deine Antwort.
ich habe die Formel ausprobiert, es funktioniert gut, wenn die Formel in der Nachbarzelle steht.
E6: =VERGLEICH(E6;5/4-ZEILE($E$1:$E$5)/4;0)*(SUMME(E7:E9)=0
Wenn ich die Formel in der gleichen Zelle habe, in der ich auch den Wert ändern möchte, ist die Formel doch überschrieben?
Außerdem meckert Excel wegen Zirkelbezug...
Gibt es eine Möglichkeit die Formel trotz Änderung in der Zelle beizubehalten?
Viele Grüße
Thomas
AW: in einer Zelle ist nicht beides möglich ...
21.02.2022 20:17:49
neopa
Hallo Thomas,
... jedenfalls nicht, wenn es ohne VBA gelöst werden sollte. Für eine Lösung mit VBA könntest Du aber einen entsprechenden Code definieren. Dabei kann ich Dir allerdings nicht behilflich sein.
Gruß Werner
.. , - ...
Anzeige
AW: in einer Zelle ist nicht beides möglich ...
21.02.2022 20:20:29
Thomas
Hallo Werner,
danke für die Rückmeldung.
Viele Grüße
Thomas

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige