Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen für DropDown Menü definieren

Zellen für DropDown Menü definieren
13.12.2013 08:38:18
Chris
Hallo zusammen,
ich habe folgenden Code im Netz gefunden den ich gerne verwenden möchte.
Nun soll der Code so modifiziert werden das nur in bestimmten Zellen das DropDown Menü auftraucht.
IST: Aktuell erscheint es in allen Zellen von Spalte B:E.
SOLL: Das DropDown soll nur in den Zellen C1, C2, C11 und C13 erscheinen.
Kann mir diesbezüglich jemand helfen?
Vielen Dank :)
Dim sWert As Variant
Private Sub lblÜbernhemen_Click()
Dim t As Single
lblÜbernhemen.SpecialEffect = fmSpecialEffectSunken
t = Timer: Do Until Timer > t + 0.1: DoEvents: Loop
lbWahl.TopLeftCell.Offset(-1) = sWert
lblÜbernhemen.SpecialEffect = fmSpecialEffectRaised
End Sub

Private Sub lbWahl_Change()
Dim i As Long
With lbWahl
If .ListCount Then
sWert = Empty
For i = 0 To .ListCount - 1
If .Selected(i) Then
sWert = sWert & ";" & .List(i, 0)
End If
Next
If sWert  "" Then sWert = Mid(sWert, 2)
End If
End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim intSpalte As Integer
If Not Intersect(Target, Range("B:E")) Is Nothing And Target.Row > 1 Then
sWert = Empty
With Target.Cells(1)
lbWahl.Left = .Left
lbWahl.Top = .Offset(1).Top
lblÜbernhemen.Left = .Left
lblÜbernhemen.Top = .Offset(1).Top + lbWahl.Height + 1
intSpalte = WorksheetFunction.Match(Cells(1, .Column), Tabelle2.Rows(1), 0)
End With
With Tabelle2
lbWahl.List = .Range(.Cells(1, intSpalte), .Cells(.Rows.Count, intSpalte).End(xlUp)) _
.Value
End With
lbWahl.Visible = True
lblÜbernhemen.Visible = True
Else
lbWahl.Visible = False
lblÜbernhemen.Visible = False
End If
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen für DropDown Menü definieren
13.12.2013 09:12:28
Rudi
Hallo,
so:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim intSpalte As Integer
Select Case Target.Address(0, 0)
Case "C1", "C2", "C12", "C13"
sWert = Empty
With Target.Cells(1)
lbWahl.Left = .Left
lbWahl.Top = .Offset(1).Top
lblÜbernhemen.Left = .Left
lblÜbernhemen.Top = .Offset(1).Top + lbWahl.Height + 1
intSpalte = WorksheetFunction.Match(Cells(1, .Column), Tabelle2.Rows(1), 0)
End With
With Tabelle2
lbWahl.List = .Range(.Cells(1, intSpalte), .Cells(.Rows.Count, intSpalte).End(xlUp)) _
.Value
End With
lbWahl.Visible = True
lblÜbernhemen.Visible = True
Case Else
lbWahl.Visible = False
lblÜbernhemen.Visible = False
End Select
End Sub

Gruß
Rudi

Anzeige
AW: Zellen für DropDown Menü definieren
13.12.2013 12:15:21
Chris
Super vielen Dank, das funktioniert soweit.
Eine Sache würde ich gerne noch vereinfachen:
intSpalte = WorksheetFunction.Match(Cells(10, 0), Tabelle4.Rows(1), 0)
Hier vergleicht er die "Stichwörter" in zwei verschiedenen Tabellenblättern.
Ist es möglich diesen Abgleich in einem Tabellenblatt durchzuführen?
Sprich:
ich hätte mein Tabellenblatt "Test"
in Spalte A:B stehen die Stichworte die im Auswahlmenü angezeigt werden sollen
in den Zellen E12;E13;E14;E15 soll das Dropdown Menü wie folgt erscheinen:
E12 = Auswahl aus Spalte A
E13 = Auswahl aus Spalte B
usw.
Danke und Gruß
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige