Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
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
Mehrere Zellen in der Dropdownliste anzeigen
11.11.2019 09:56:51
Marc
Hallo,
ich gebe die Daten einer Zelle in einer Dropdownliste aus. Nun möchte ich aber nicht nur die Spalte B in der Liste sehen können, sondern auch die Spalten A und D.
Ich habe es so versucht, bekomme aber eine Typenunverträglichkeit:
Private Sub UserForm_Activate()
Dim arrDaten
Dim lngLetzte As Long
With Worksheets("Personen")
lngLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
arrDaten = .Range(.Cells(2, 2), .Cells(lngLetzte, 4)) & ", "&  .Range(.Cells(2, 1), . _
Cells(lngLetzte, 4)) & ", "&  .Range(.Cells(2, 4), .Cells(lngLetzte, 4))
ComboBox1.List = arrDaten
End With
End Sub
Was mache ich falsch?
Lieben Gruß
Marc

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Zellen in der Dropdownliste anzeigen
11.11.2019 10:52:15
Marc
Hallo Pierre,
ich verstehe leider den Code nicht und habe nun mal alles versucht anzupassen, wie ich es denke, aber er zeigt mir gar nichts an :(
Wenn es nicht geht, dann muss ich mir was anderes einfallen lassen, dennoch danke!! :)
Lieben Gruß
Marc
Anzeige
AW: Mehrere Zellen in der Dropdownliste anzeigen
11.11.2019 11:28:49
Pierre
Hallo Marc,
an sich sähe der Code für dich so aus:
Sub test()
Dim arr As Range
Dim r As Range
Dim myRow As Long
With Sheets("Tabelle1")
Set arr = Union(.Range("B1", .Cells(.Rows.Count, 1).End(xlUp)), .Range("A1", .Cells(.Rows. _
Count, 1).End(xlUp)), .Range("D1", .Cells(.Rows.Count, 4).End(xlUp)))
End With
With Sheets("Tabelle2")
.Cells.ClearContents
myRow = 1
For Each r In arr
.Cells(myRow, 1).Value = r.Value
myRow = myRow + 1
Next r
Set arr = .Range("A1:A" & myRow)
End With
Sheets("Tabelle2").ListObjects.Add(xlSrcRange, Range("A1:A" & Range("A65536").End(xlUp).Row), ,  _
xlNo).Name = "DatQuel"
End Sub
Da steht aber jetzt aktuell A1, B1, C1, A2, B2, C2 usw... untereinander.
Am Ende habe ich eine Zeile eingefügt, die dafür sorgt, dass die kopierten Daten immer in eine Tabelle umgewandelt werden.
Die Datei (mit paar wenigen Fantasiedaten) habe ich dir auch mal hochgeladen.
Im gelb markierten Feld ist das Dropdown hinterlegt, Tabelle 2 kannst du ja ausblenden.
https://www.herber.de/bbs/user/133095.xlsm
Gruß Pierre
PS: Das Makro musst du derzeit manuell starten, kannst aber hinterher das Ganze in deinen vorhandenen Code einbauen.
Anzeige
AW: Mehrere Zellen in der Dropdownliste anzeigen
11.11.2019 11:01:06
Klaus
Hallo Marc,
bei mir geht es so:
Private Sub UserForm_Initialize()
Dim lRow As Long
With Tabelle1
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 2 To lRow
UserForm1.ComboBox1.AddItem .Range("A" & i).Value
Next i
lRow = .Cells(.Rows.Count, 2).End(xlUp).Row
For i = 2 To lRow
UserForm1.ComboBox1.AddItem .Range("B" & i).Value
Next i
lRow = .Cells(.Rows.Count, 3).End(xlUp).Row
For i = 2 To lRow
UserForm1.ComboBox1.AddItem .Range("C" & i).Value
Next i
End With
End Sub
nicht optimiert.
LG,
Klaus M.
AW: Mehrere Zellen in der Dropdownliste anzeigen
11.11.2019 14:47:32
Nepumuk
Hallo Marc,
teste mal:
Private Sub UserForm_Activate()
    With Worksheets("Personen")
        Call ThisWorkbook.Names.Add(Name:="temp", RefersTo:= _
            .Range(.Cells(2, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 4)))
        ComboBox1.List = Application.Index(Range("temp"), [row(temp)], Array(2, 1, 4))
        Call ThisWorkbook.Names("temp").Delete
    End With
End Sub

Gruß
Nepumuk
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige