Registriert seit: 10.04.2014
Version(en): 2016 + 365
23.03.2017, 12:17
(Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2017, 12:51 von Rabe .)
Hi,
ich habe zwei Dropdowns (hellgrün: C7, E7) über Gültigkeitsprüfung und die zweite hängt von der ersten ab.
Die Datenquelle ist im Bereich W1:AE21.
Datengültigkeit 1: =W1:AE1
Datengültigkeit 2: =INDEX($W$2:$AE$21;;VERGLEICH($C$7;$W$1:$AE$1;))
Der Bereich W2:AE21 ist aber ungleich weit nach unten gefüllt. Beim Aufruf des zweiten Dropdowns werden dann in der Liste die leeren Zellen des Bereichs auch mit angezeigt und da die Auswahlzelle erst mal leer ist, steht das Dropdown ganz unten und ich muß hochscrollen, damit ich was auswählen kann.
Wie kann ich das auf den je Spalte benutzten Bereich beschränken, damit nur die tatsächlich vorhandenen Begriffe zur Auswahl stehen oder in der Auswahl zuerst der oberste Begriff angezeigt wird?
abhängige Gültigkeit.xlsb (Größe: 22,91 KB / Downloads: 9)
Registriert seit: 13.04.2014
Version(en): 365
Hallo Ralf, ich habe es mit einer Hilfszelle gelöst, in der ich für jede Spalte die Anzahl der Einträge ermittle und das in der Formel anwende.
Gruß Edgar Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Edgar, dann muß ja die 21 in der Formel durch den Inhalt der Hilfszelle ersetzt werden? Hast Du mir da ein Beispiel? Oder die Formeln für die Hilfszelle und die zweite Gültigkeit?
Registriert seit: 13.04.2014
Version(en): 365
Hi, ich gebe Dir heute Mittag mal ein Beispiel.
Gruß Edgar Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
Registriert seit: 29.09.2015
Version(en): 2030,5
23.03.2017, 14:10
(Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2017, 14:14 von snb .)
Diese Code reicht:
Code:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$C$7" Then Application.EnableEvents = False Range("C8:C24, E7:E24,G8:G18,G19,G21,G23:G24,I6:I15,I16,I18:I20,I23:I24,K6:K15,K17:K24") = "" Range("K1:K3") = Application.Transpose(Array(VBA.Environ("Username"), Date, Date + 7)) Cells(7, 5).Validation.Modify , , , "=" & Columns(Application.Match(Target, Range("A1:AE1"), 0)).SpecialCells(2).Address Application.EnableEvents = True End If End Sub
Angehängte Dateien
__Rabe 002.xlsb (Größe: 21,64 KB / Downloads: 4)
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag: 1 Nutzer sagt Danke an snb für diesen Beitrag 28
• Rabe
Registriert seit: 13.04.2014
Version(en): 365
Hi,
ohne VBA:
Arbeitsblatt mit dem Namen 'Tabelle2' H I J K L M N 18 4 19 3 4 2 6 3 Gruppe: d 20 a b c d e Artikel: da 21 aa ba ca da ea 22 ab bb cb db eb 23 ac bc dc ec 24 bd dd 25 de 26 df
Name Bezug Gruppen =Tabelle2!$H$20:$L$20
Zelle Formel H18 =WENNFEHLER (VERGLEICH (N19;Gruppen;0) ;"")
Zelle Gültigkeitstyp Operator Wert1 Wert2 N19 Liste =Gruppen N20 Liste =BEREICH.VERSCHIEBEN (H20;1;H18-1;INDEX (H19:L19;H18 ) )
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Allerdings geht das so nur mit Bereich.verschieben!
Gruß Edgar Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag: 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag 28
• Rabe
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi,
das hat geklappt, danke!
(23.03.2017, 14:10) snb schrieb: Diese Code reicht:Code:
Cells(7, 5).Validation.Modify , , , "=" & Columns(Application.Match(Target, Range("A1:AE1"), 0)).SpecialCells(2).Address
wegen Kosmetik:
Kann ich in der Datengültigkeit auch nur den Bereich der Zeilen 2 bis Ende anzeigen lassen, also ohne die Kopfzeile?
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi,
geht auch ganz leicht ohne VBA und auch "fast" ohne Formel
http://www.clever-excel-forum.de/thread-...l#pid72586 Datei Drop_V3
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag: 1 Nutzer sagt Danke an chris-ka für diesen Beitrag 28
• Rabe
Registriert seit: 29.09.2015
Version(en): 2030,5
Kein Thema:
Code:
Cells(7, 5).Validation.Modify , , , "=" & Columns(Application.Match(Target, Range("A1:AE1"), 0)).SpecialCells(2).offset(1).specialcells(2).Address
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag: 1 Nutzer sagt Danke an snb für diesen Beitrag 28
• Rabe