Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

eine Zelle, mit 2 Gültigkeitsprüfungen


Betrifft: eine Zelle, mit 2 Gültigkeitsprüfungen von: Peter Rottmann
Geschrieben am: 14.07.2017 14:07:56

Ich bräuchte noch einmal eure hilfe

Die Probleme enden nicht...
ich habe eine Dropdownliste für die ausgewählte Zellen formatiert(Gültigkeitsprüfung>Liste), da ich vorgeben möchte, welche werte zur Auswahl stehen.

Wie kann ich nun DropDown-Liste und die besagte Gültigkeitsprüfung vereinen? genauer gesagt, mittels
Dropdown-Liste und

Zählenwenn

Ich möchte verhindern das in der besagten Zellenanzahl gewisse Werte aus der Dropdownliste nur 3mal auswählbar sind. Andere nur 2mal usw.

  

Betrifft: AW: eine Zelle, mit 2 Gültigkeitsprüfungen von: UweD
Geschrieben am: 14.07.2017 14:19:04

Hallo


meinst du das?


- Daten, Datenüberprüfung
- Zulassen: Benutzerdefiniert
- Formel: =UND(ZÄHLENWENN($E$3:$E$12;"A")<=3;ZÄHLENWENN($E$3:$E$12;"B")<=2)

LG UweD


  

Betrifft: AW: eine Zelle, mit 2 Gültigkeitsprüfungen von: Peter Rottmann
Geschrieben am: 14.07.2017 14:39:47

Ja, genau.

Zuvor hatte ich Gültigkeitsprüfung>Liste. Um eine DropDown-liste zu erhalten.

Nun müsste ich eine Überprüfung zusätzlich machen, um zu testen, ob ein bestimmter Wert nicht öfters als 3 mal vorkommt. Als Beispiel:

Man hat ein Dropdownfeld über mehrere Zeilen mit:(Gültigkeitsprüfung>Liste>die Namen ausgeählt,welche in der Liste stehen)

Hans
Dieter
Rossi
Horst

wurde schon 3mal Horst ausgewählt, muss beim 4 versuch eine Warnung kommen. "Horst wurde schon 3mal ausgewählt".

Daher müsste ich die Liste mit einer

Zählenwenn
kombinieren


  

Betrifft: AW: eine Zelle, mit 2 Gültigkeitsprüfungen von: Werner
Geschrieben am: 14.07.2017 15:30:18

Hallo Peter,

ich wüsste nicht, dass das mit der Gültigkeitsprüfung funktioniert.

Mach mal deine Gültigkeitsprüfung - Liste wieder rein.
Dann folgendes Makro in das Tabellenblatt, in dem deine Gültigkeitsprüfung ist.
Ich hab das jetzt mal für die komplette Spalte A gemacht (dort sollte dann halt auch deine Gültigkeitsprüfung drin sein), da du dich mit Einzelheiten zu deiner Tabelle ziemlich bedeckt gehalten hast.

-Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub
    If WorksheetFunction.CountIf(Range("A:A"), Target.Value) > 3 Then
        Application.EnableEvents = False
        MsgBox "Nicht zulässig, " & Target.Value & " bereits drei mal vorhanden."
        Application.Undo
        Application.EnableEvents = True
    End If
End Sub
Gruß Werner


  

Betrifft: AW: alternativ ohne VBA ... von: ... neopa C
Geschrieben am: 15.07.2017 09:58:21

Hallo Peter,

... wäre es über eine Lösung über eine Hilfsspalte möglich. Wenn Du das möchtest, dann melde Dich nochmal.

Gruß Werner
.. , - ...


  

Betrifft: AW: alternativ ohne VBA ... von: Peter Rottmann
Geschrieben am: 17.07.2017 23:15:26

ja bitte...


  

Betrifft: AW: nun, dann ... von: ... neopa C
Geschrieben am: 18.07.2017 09:10:45

Hallo Peter,

... sieh Dir dazu mein kleines Beispiel an.

Deine Daten für die Gültigkeit (ohne Begrenzung) sind in Spalte G gelistet. Die Eingabe erfolgt in der Spalte E jedoch für die in der Hilfsspalte ermittelten noch zulässigen Werte. Da bis E6 schon 3mal "Horst" ausgewählt wurde, wird dieser im Beispiel ab E7 nicht mehr in der Dropdownliste angeboten, weil die Daten in der Hilfsspalte entsprechend automatisch reduziert sind.

Die Formel in H2 weit genug nach unten kopieren und die Datengültigkeit in Spalte E, soweit wo Du sie benötigst:

 EFGH
1Eingabe Datenzulässig
2Dieter DieterDieter
3Horst HansHans
4Horst HorstRossi
5Dieter Rossi 
6Horst   
7    
8    

Formeln der Tabelle
ZelleFormel
H2=WENNFEHLER(INDEX(Tabelle2!$G:$G;AGGREGAT(15;6;ZEILE(G$2:G$99)/(ZÄHLENWENN(E:E;G$2:G$99)<3); ZEILE(G1)))&"";"")

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
E2Liste =Daten 
Namen in Formeln
ZelleNameBezieht sich auf
E2Daten=Tabelle2!$H$2:INDEX(Tabelle2!$H:$H;SUMME((LÄNGE(Tabelle2!$H$1:$H$9)>0)*1))
Namen verstehen


Gruß Werner
.. , - ...


Beiträge aus den Excel-Beispielen zum Thema "eine Zelle, mit 2 Gültigkeitsprüfungen"