Anzeige
Archiv - Navigation
1016to1020
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

variable Gültigkeitsliste per VBA

variable Gültigkeitsliste per VBA
27.10.2008 16:02:11
David
Hallo zusammen,
ich habe eine Tabelle, in der jeden Monat ein neues Blatt eingefügt wird, das mit "KW" beginnt. In einer Auswahlliste möchte ich jetzt per Gültigkeit eine Dropdownliste mit allen Tabellenblättern, die mit KW beginnen, einfügen. Leider scheitere ich bei der Definition dieser Gültigkeit bzw. bereits beim Zuweisen des definierten Namens.
Mein bisheriger Ansatz:

Sub Blätter()
Dim wks As Worksheet
Dim Anzahl As Byte
Dim Blatt(100)
For Each wks In Worksheets
If Left$(wks.Name, 2) = "KW" Then
Anzahl = Anzahl + 1
Blatt(Anzahl) = wks.Name
End If
Next
'activeworkbook.Names.Add (Name:="Test1", RefersTo
'aufgezeichnet: ActiveWorkbook.Names.Add Name:="Testname", RefersToR1C1:="=Tabelle1!R3C3:R14C3"
MsgBox Anzahl
End Sub


Damit hab ich ein Array Blatt(), in dem alle betreffenden Blätter vorhanden sind. Nun soll in der Zelle F1 eine Dropdownliste erscheinen, die das Array auflistet (am besten auch noch ohne die leeren Array-Elemente).
Der Rekorder hat mich in dem Fall nicht weitergebracht.
Kann mir hier jemand unter die greifen? Danke schon mal.
Gruß
David

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

Betreff
Datum
Anwender
Anzeige
AW: variable Gültigkeitsliste per VBA
27.10.2008 18:05:00
fcs
Hallo David,
damit das Zuweisen einer Gültigkeitsliste via BereichsName funktioniert, müssen die Tabellennamen in Zellen eingetragen werden. Diesen Zellen kann man dann einen Namen zuweisen.
Gruß
Franz

Sub Blaetter()
Dim wks As Worksheet
Dim Anzahl As Byte
Dim Zelle1 As Range
Set Zelle1 = Range("C3") 'Startzelle für das Eintragen der Tabllennamen
For Each wks In Worksheets
If Left$(wks.Name, 2) = "KW" Then
Zelle1.Offset(Anzahl, 0) = wks.Name
Anzahl = Anzahl + 1
End If
Next
'Bereich mit eingetragenen BlattNamen einem namen zuweisen
ActiveWorkbook.Names.Add Name:="Testname", RefersToR1C1:="='" & ActiveSheet.Name & "'!" & _
Range(Zelle1, Zelle1.Offset(Anzahl - 1, 0)).Address(ReferenceStyle:=xlR1C1)
MsgBox Anzahl
End Sub


Anzeige
AW: variable Gültigkeitsliste per VBA
28.10.2008 08:06:00
David
Hallo Franz,
nach einigem Überlegen bin ich zwischenzeitlich auch zu dieser Lösung gekommen. Ich hatte zwar noch gehofft, es gibt einen eleganteren Weg, da ich eine weitere Liste in meiner Tabelle vermeiden wollte.
Danke für deine Hilfe.
Gruß
David

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige