Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gültigkeits-Dropdown eingrenzen

Gültigkeits-Dropdown eingrenzen
24.07.2004 18:22:45
Jürgen
Folgendes Problem:
Ich habe in Tabelle 1 eine Liste mit 10 Zellen z.B. B10:B19 erstellt und diesen Bereich "Antworten" benannt.
In Tabelle 2 gibt es nun für einen Bereich D20:D29 in den Zellen jeweils Dropdowns welche über die Gültigkeitsfunktion auf den Bereich in Tabelle 1 greifen, was auch problemlos funktioniert.
Da jeder dieser 10 Werte allerdings nur einmal genutzt werden soll/darf würde ich gerne das ganze so einstellen das die Auswahl im Dropdown sich um die bereits benutzen Möglichkeiten der Liste verkürzt.
Wäre prima wenn jemand einen Denkansatz oder besser eine Lösung für mich hätte.
Danke im Voraus.
Jürgen

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gültigkeits-Dropdown eingrenzen
Kai
Hi Jürgen,
schau mal unter
https://www.herber.de/bbs/user/8857.xls
Da habe ich eine Datei abgelegt, die Deine Wünsche erfüllen dürfte.
Spalte A: Die aktuelle Auswahl mit Anpassung an bereits ausgewählte Einträge
Spalte B: Die eigentliche Liste, welche Werte überhaupt erlaubt sind
Spalte C: Hier wählt man die Werte aus
Der gelbe Eingabebereich wird rot, wenn jemand einen Wert auswählt, der bereits als "verwendet" markiert wurde.
Probier einfach mal rum und melde Dich, wenn was nicht passt.
Kai
AW: Gültigkeits-Dropdown eingrenzen
24.07.2004 20:40:52
Nepumuk
Hallo Jürgen,
das ganze per VBA:


Option Explicit
Option Base 1
Public Sub proc_init()
    Dim intIndex1 As Integer, intIndex2 As Integer, varListe As Variant, strListe As String
    varListe = Array("rot", "grün", "blau", "gelb", "schwarz", "weis", "lila", "rose", "lachs", "bunt")
    For intIndex1 = 20 To 29
        For intIndex2 = 1 To 10
            If varListe(intIndex2) = Cells(intIndex1, 4) Then varListe(intIndex2) = ""
        Next
    Next
    For intIndex1 = 1 To 10
        If varListe(intIndex1) <> "" Then strListe = strListe & varListe(intIndex1) & ","
    Next
    If strListe <> "" Then strListe = Left$(strListe, Len(strListe) - 1) Else strListe = " "
    With Range(Cells(20, 4), Cells(29, 4)).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=strListe
    End With
End Sub


In das Klassenmodul der Tabelle folgenden Code:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 4 And Target.Row > 19 And Target.Row < 30 Then Call proc_init
End Sub


Gruß
Nepumuk
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige