Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
964to968
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dropdown-Auswahlliste in VBA

Dropdown-Auswahlliste in VBA
10.04.2008 16:57:26
Sebastian
Hallo,
leider werd ich aus den ganzen Posts nicht schlau (wahrscheinlich such ich auch nach den falschen Begriffen).
Ich möchte eine Dropdown-Auswahlliste (beim Erstellen eines neuen Sheets) mit dem Werten von Sheet A (Werte in A1:A20) erstellen. Diese Liste soll bei dem neuerstellen Worksheet an der Position E3 stehen.
Vielen Dank im Voraus!
Gruss,
Sebastian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown-Auswahlliste in VBA
10.04.2008 18:19:00
Beverly
Hi Sebastian,
ich hoffe, ich habe richtig verstanden, dass du ein DropDown-Listenfeld aus Daten Gültigkeit erstellen willst? Zeichne den Code mit dem Makrorekorder auf.
Du musst allerdings beachten, dass bei einem DropDown-Listenfeld aus Daten Gültigkeit kein direkter Bezug auf andere Arbeitsblätter genommen werden darf. Verwende also einen definierten Bereichsnamen als Quelle.


Daten - Gültigkeit in neues Blatt einfügen
10.04.2008 18:22:12
NoNet
Hallo Sebastian,
das von Dir gesuchte Feature nennt sich "Gültigkeitsprüfung" und befindet sich bis Excel 2003 im Menü "Daten - Gültigkeit - Zulassen: Liste - Quelle: Bereich".
Damit Du eine Dropdown-Auswahlliste in einem Tabellenblatt erhältst, die mit Werten aus einem anderen Tabellenblatt gefüllt ist, musst Du dem Bereich im Quellblatt (bei Dir also Blatt "A") einen Namen vergeben :
- Bereich im Quellblatt markieren
- Strg+F3 drücken
- Einen Namen vergeben (z.B. "NamenAusA")
- mit "Hinzufügen" und "OK" bestätigen
Ohne diesen Namen funktioniert das grundsätzlich nicht in einem externen Tabellenblatt !
Nun folgt die eigentliche Beantwortung Deiner Frage :
Per VBA kannst Du auf neu erstellte Tabellenblätter reagieren, indem du im Klassenmodul "DieseArbeitsmappe" das Ereignismakro "Workbook_NewSheet" erstellst.
Füge also folgendes Makro in das Klassenmodul "DieseArbeitsmappe" ein :
'Dieser Code muss in das Klasenmodul "DieseArbeitsmappe" im VBA-Editor !
'10.04.2008, NoNet - www.excelei.de
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    If Sh.Type = xlWorksheet Then 'Gültigkeit nur für neue Tabellenblätter erstellen !
        With Sh
            With [E3].Validation 'Gültigkeit in neuem Blatt in Zelle E3 erstellen
                .Delete 'nur prophylaktisch : Bestehende Gültigkeit löschen
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                xlBetween, Formula1:="=NamenAusA" 'NamenAusA muss in Blatt "A" definiert sein !
                .IgnoreBlank = True
                .InCellDropdown = True
                .InputTitle = "Bitte Wert auswählen" 'Eingabemeldung kann auch gelöscht werden
                .ErrorTitle = "Ungültige Eingabe !"
                .InputMessage = "Bitte Wert aus A!A1:A10 auswählen" 'Erscheint bei Falscheingabe
                .ErrorMessage = "Bitte einen gültigen Wert aus der Liste auswählen !"
                .ShowInput = True
                .ShowError = True
            End With
        End With
    End If
End Sub
Es wird im neuen Tabellenblatt in Zelle E3 eine Gültigkeit definiert mit Bezug auf den Bereichsnamen "NamenAusA", der dazu wie oben beschrieben definiert sein muss.
ACHTUNG : Wenn Du (z.B. per gruppierten Tabellenblättern) mehrere Tabellenblätter GELICHZEITIG einfügst, dann reagiert dieses Makro nur auf das ERSTE dieser eneuen tabellenblätter, daher wird diese Gültigkeit auch nur im ERSTEN dieser Blätter eingefügt !!
Gruß, NoNet

Anzeige
AW: Daten - Gültigkeit in neues Blatt einfügen
11.04.2008 09:54:51
Sebastian
Perfekt!
Ich danke euch :)
Schönen Tag noch!!

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige