Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

Gültigkeitsprüfung per Optionsbutton festlegen

Normalerweise wird über die Funktion Daten / Datentools / Datenüberprüfung die Gültigkeit für eine Zelle oder einen Zellbereich individuell festgelegt. In diesem Beispiel zeigen wir Ihnen, wie sich die Gültigkeitsprüfung anwendergesteuert und dynamisch durch einen Optionsbutton verändern lässt, siehe Abbildung 1.


Abbildung 1: Gültigkeitsprüfung per Optionsbutton festlegen

Ein Klick auf den Optionsbutton "Liste A" führt dazu, dass in der Gültigkeitsprüfung die Daten aus Liste A angezeigt werden. Ein Klick auf den Optionsbutton B hingegen zeigt die Einträge aus Liste B an.

Die Daten der Liste A befinden sich auf dem Tabellenblatt "Liste_A" und die Daten der Liste B auf dem Sheet "Liste_B".

Den beiden Listen wurden dazu jeweils den Bereichsnamen "Liste_A" und "Liste_B" übergeben, siehe Abbildung 2.


Abbildung 2: Namensmanager mit der Namensvergabe für Liste A und B

Wie Sie sehen, wird über die Funktion BEREICH.VERSCHIEBEN() der Bereichsname dynamisch aufgebaut, so dass die Liste jederzeit ergänzt werden kann und die Einträge entsprechend an den Bereichsnamen übergeben werden.

Grundsätzlich stehen zwei Varianen zur Verfügung. Die erste Variante verwendet VBA zur dynamischen Anzeige der ausgewählten Liste. In der zweiten Variante wird komplett auf VBA verzichtet.

Variante 1: Verwendung von VBA

Nachdem die Namen eingerichtet sind können wir uns den VBA-Code etwas näher ansehen.

Durch einen Klick auf den jeweiligen Optionsbutton wird ein VBA-Makro ausgeführt, welches die Datenüberprüfungsfunktion so anpasst, dass jeweils der richtige Bereichsname übergeben wird.

Die VBA-Makros für die Optionsschaltflächen lauten wie folgt:

Optionsschaltfläche 1 (Liste A)

Private Sub OptionButton1_Click()
'** Optionsschaltfläche Liste A
With Range("A5:A20").Validation
  .Delete
  .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=Liste_A"
End With
End Sub

Optionsschaltfläche (Liste B)

Private Sub OptionButton2_Click()
'** Optionsschaltfläche Liste B
With Range("A5:A20").Validation
  .Delete
  .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=Liste_B"
End With
End Sub

Nach Aktivierung der Option "Liste B", wird der Gültigkeitsprüfung im Bereich B5 bis B20 die Datenliste "Liste B" übergeben und die Einträge aus Liste B stehen entsprechend zur Verfügung, siehe Abbildung 3.


Abbildung 3: Datengültigkeitsliste von Liste B

 

Variante 2: Verwendung von Formeln - Ohne VBA

In der zweiten Variante wird eine Lösung vorgestellt, die komplett auf VBA verzichtet. Das Anlegen der Listen A und B funktioniert genauso wie bei der VBA-Variante. Nur das Zuweisen der entsprechenden Liste wird über eine Formel gesteuert.

Gehen Sie dazu wie folgt vor:

  1. Verknüpfen Sie die beiden Comboboxen (Formularsteuerelement) mit der Zelle C6
  2. Damit wird bei Auswahl der Combobox Liste A eine 1 in C6 eingetragen und bei Auswahl von Liste B eine 2. Wenn Sie die ActiveX Optionsbutton verwenden, wird stattdessen WAHR und FALSCH in die Zellen geschrieben. Diese müssen Sie über eine geeignete Wenn-Formel nur noch in die Ziffern 1 bzw. 2 übersetzen. Z. B. so: =wenn(C6="WAHR;1;2)
  3. Markieren Sie nun im nächsten Schritt den Zellbereich, für den Sie die Gültigkeitsprüfung einrichten möchten. Im Beispiel also den Bereich A5:A20
  4. Starten Sie die Gültigkeitsprüfung über das Menü Daten / Datentools / Gültigkeitsprüfung
  5. und Erfassen Sie als Quelle folgende Formel: =WAHL($C$6;Liste_A;Liste_B), siehe Abbildung 4.


    Abbildung 4: Erfassung der Formel für die dynamische Gültigkeitsprüfung

  6. Wenn Sie nun die Datenprüfung mit einem Klick auf die Schaltfläche OK abschließen funktioniert dar Wechsel zwischen Liste A und B ebenfalls dynamisch über einen Klick auf die entsprechende Optionsschaltfläche.
  7. Die leicht modifizierte Lösung für ActiveX-Optionsschaltfläche finden Sie ebenfalls in der Beispieldatei.

Eine grundlegende Einführung zum Thema "Gültigkeitsprüfung" finden Sie unter dem folgenden Link: http://www.excel-inside.de/funktionen-a-tipps/177-verwendung-der-gueltigkeitspruefung

Die Beispieldatei in der beide Varianten noch mal gezeigt werden, können Sie über den folgenden Link herunterladen und für Ihre Zwecke modifizieren.

 

   

Relevante Artikel

  • XML Datei per VBA erzeugen

    In diesem Beispiel zeigen wir Ihnen, wie XML Dateien per VBA erzeugt werden können. Als Ausgangsdatei dient eine kleine Adressliste, die als XML-Datei abgespeichert werden soll, siehe Abbildung. Abb:...

  • Ermittlung der Office-Version und Version des Betriebssystems

    108001 Mit diesem Makro kann geprüft werden, welche Office-Version bzw. welches Betriebssystem installiert ist! Im Programmablauf kann verzweigt werden und der Code entsprechend der installierten...

  • Zellinformationen per Funktion auslesen

    112019 Diese Funktion liest verschiedene Zellinformationen aus und zeigt diese an.Public Function zellinfo(zelle As Range, i As Integer)Select Case iCase 1    zellinfo = zelle.AddressCase 2    zellinfo = zelle.ValueCase 3    zellinfo = zelle.FormulaLocalCase 4    If zelle.HasFormula = True Then        zellinfo = "Formel"    ElseIf IsNumeric(zelle) Then        zellinfo = "Zahl"    Else: zellinfo = "Text"    End IfCase Else    zellinfo = "nicht vergeben"End SelectEnd FunctionDie Funktion rufen Sie wie folgt auf:=zellinfo(zelle;paramter) Folgende...

  • Übersicht aller Excel Schlüsselwörter

    108000a Nachfolgend eine Übersicht aller VBA-Schlüsselwörter   A B 1 Deutsch Englisch 2     3 Abs Abs 4 AktiviereAnw AppActivate 5 AktVerz CurDir 6 Alle Each 7 Als As 8 AlsWert ByVal 9 AlsZeiger ByRef 10...

  • Zahlen in Text umwandeln

    Mit Hilfe des nachfolgend vorgestellten VBA-Codes, können Zahlen (Ziffern) in Wörter (Zahlwörter) umgewandelt werden. So wird beispielsweise die Zahl 91.256.378 in das Zahlwort...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013