vielleicht kannst Du mir die Sache mit den festgelegten Namen
mal erklären, insbesondere den mit dem Bereich verschieben.
Hallo Sven,
bei Daten-Gültigkeit darf man sich mit Formeln die man dort eingeben darf nur auf das Blatt beziehen wo die Daten-Gültigkeit ist.
Aber man darf dort Namen eingeben und diese namen dürfen sich auf andere Blätter beziehen.
D.H. bei Daten–Gültigkeit–Liste darf ich im hauptblatt nicht eingeben:
=Hilf!B2:B22
aber ich darf eingeben
=XYZ
und XYZ ist der Name für
=Hilf!B2:B22
Damit wäre die Aufgabe auch gelöst. Nur ist ja der Bereich Hilf!B2:B22 immer fest. D.H. wenn da leere Zellen drin sind weerden sie in der Auswahlliste mitangezeigt, was ja blöd ist.
Also macht man die Liste dynamisch, sodaß sie immer nur „gefüllte“ Zellen anzeigt.
Im Hilf!C:C kann ich ja bequem die Anzahl der gefüllten Zellen ermitteln mit:
=ZählenWenn(Hilf!C:C;">0")
Das Ergebnis ist irgeneine Zahl von 0 bis X.
Nun will ich ja in der Auswahlliste diese Anzahl an gefüllten Zellen aus Hilf!B2:Bx angezeigt haben, jetzt kommt Bereich.Verschieben ins Spiel.
Wenn ich nun dem Namen „Verf“ (Verfügbar) diese Formel zuweise:
=Bereich.Verschieben(B2;0;0)
oder ist das Gleiche:
=Bereich.Verschieben(B2;
so entspricht das für Excel dem da:
=Bereich.Verschieben(B2;0;0;1;1)
und das hat als Ergebnis B2, denn der Bereich B2 wurde um 0 Zeilen nach unten verschoben, um 0 Spalten nach rechts, der neue Bereih ist 1 Zeile hoch und 1 Spalte breit.
(weggelassene Parameter zählen in dem Fall als 0 oder 1, je nach Parameter)
So, wenn ich nun aus Hilf!B2:Bx 5 Einträge haben will in der Auswahlliste, so vergebe ich für den Namen „Verf“ die Formel.:
=Bereich.Verschieben(B2;0;0;5;1)
Da die 5 ja dynamisch sein soll, ergibt sich die Formel zu:
=Bereich.Verschieben(B2;0;0;ZählenWenn(Hilf!C:C;">0");1)
bzw.
=Bereich.Verschieben(B2;;;ZählenWenn(Hilf!C:C;">0"))
was identisch ist.
Hier kannst du ausgiebig „Bereich.verschieben“ austesten:
http://www.hostarea.de/server-01/Januar-31e4f0234b.xls
Gruß
Reinhard