Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
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

dynamisches DropDown

dynamisches DropDown
Erik
Hallo zusammen,
ich würde gern ein dynamisches DropDown einrichten wollen. Wie man ein "normales" einrichtet ist klar, jedoch möchte ich meine Liste jeder Zeit erweitern können, das bei doppelter Eintragung nur einmal die Auswahl angezeigt wird und falls sich Lücken in der Liste befinden, diese nicht im DropDown zu sehen sind.
Gedacht ist es so:
A1 DropDown
B1:B200 a,b,c,d,......
Könnte man dieses Problem auch ohne VBA lösen?
Ich habe dafür schon mal ein Makro aufgezeichnet aber dieses Beinhaltet nur ein "normales" DropDown.
Sub DropDown()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$B$1:$B$200"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub

Kann mir jemand dabei helfen?
Danke schon mal im Voraus.
Gruß Erik

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: dynamisches DropDown
26.05.2012 10:56:51
Beverly
Hi Erik,
vielleicht eine Möglichkeit:
Tabelle1
 ABCDE
1aa1  c
2bb2   
3cc3   
4ad4   
5ce5   
6df6   
7a       
8e       
9f       

verwendete Formeln
Zelle Formel Bereich
B1 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A1))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A1))))} $B$1
C1 =WENN(B1<>"";ZEILE();"") 
B2 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A2))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A2))))} $B$2
C2 =WENN(B2<>"";ZEILE();"") 
B3 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A3))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A3))))} $B$3
C3 =WENN(B3<>"";ZEILE();"") 
B4 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A4))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A4))))} $B$4
C4 =WENN(B4<>"";ZEILE();"") 
B5 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A5))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A5))))} $B$5
C5 =WENN(B5<>"";ZEILE();"") 
B6 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A6))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A6))))} $B$6
C6 =WENN(B6<>"";ZEILE();"") 
B7 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A7))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A7))))} $B$7
C7 =WENN(B7<>"";ZEILE();"") 
B8 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A8))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A8))))} $B$8
C8 =WENN(B8<>"";ZEILE();"") 
B9 {=WENN(ISTFEHLER(INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A9))));"";INDEX(A:A;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(A$1;;;ZEILE($1:$100));A$1:A$100)=1;ZEILE($1:$100));ZEILE(A9))))} $B$9
C9 =WENN(B9<>"";ZEILE();"") 
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!


definierte Namen
Name Bezieht sich auf Tabelle Z1S1-Formel
Liste=BEREICH.VERSCHIEBEN(Tabelle1!$B$1;;;MAX(Tabelle1!$C:$C);1) =BEREICH.VERSCHIEBEN(Tabelle1!Z1S2;;;MAX(Tabelle1!S3);1)

Tabellendarstellung in Foren Version 5.48


Herkunft Formel in Spalte B - http://www.excelformeln.de/formeln.html?welcher=194


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige