Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1584to1588
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
Daten aus Spalte automatisch in die ComboBox
13.10.2017 11:53:08
Tani
Hallo Excel Spezis,
ich habe mir etwas überlegt aber bin nicht sicher, ob dis möglich ist.
Ich habe in der Spalte A in einem Tabellenblatt ("Tabellenblatt1")namen stehen. Diese Namen kommen mehrmals vor. Nun möchte ich gerne das diese Namen direkt wenn Sie in eine Zelle sind auch gleichzeitig in eine ComboBox einer UserForm zur Auswahl stehen aber natürlich nur einmal. Das bedeutet, wenn ich z.B Tina 3 mal in der Spalte stehen habe, soll es einmal zur Auswahl stehen. Wenn ich aber einen neuen Namen z.b Martina in die Spalte einfüge, soll es den Namen Martina automatisch auch in die ComboBox übernehmen.
Ist das prinzipiell machbar?
Dank im Voraus
Liebe Grüße

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Spalte automatisch in die ComboBox
13.10.2017 12:54:08
Tani
Hallo Ede,
Danke hierfür ich werde mal spatter reinschauen.
Grüße
Tani
AW: Daten aus Spalte automatisch in die ComboBox
13.10.2017 12:21:52
Nepumuk
Hallo Tani,
fügst du neue Namen ein während das Userform sichtbar ist?
Gruß
Nepumuk
AW: Daten aus Spalte automatisch in die ComboBox
13.10.2017 13:02:45
Tani
Hey Nepmunk,
nein, die Namen warden durch ein Button (mit diversen anderen Daten in der gleichen Zeile) in der UserForm1 hinzugefügt. In der Userform4 soll nun in abhängigkeit von dem Namen die Informationen durch einen Klick abgerufen werden können. Nur mächte ich gerne die bereits vorhandenen Namen schon zur Auswahl stellen um die Fehlermöglichkeit (falsche Schreibweise) zu eliminieren.
Hoffe ich konnte das einigermaßen verständlich darstellen .
Liebe Grüße
Tina
Anzeige
AW: Daten aus Spalte automatisch in die ComboBox
13.10.2017 13:12:47
Nepumuk
Hallo Tani,
würde ich so machen:
Private Sub UserForm_Initialize()
    Dim avntValues As Variant, vntItem As Variant
    Dim objArrayList As Object
    Set objArrayList = CreateObject("System.Collections.ArrayList")
    With Worksheets("Tabelle1")
        avntValues = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)).Value2
    End With
    For Each vntItem In avntValues
        If Not objArrayList.Contains(vntItem) Then _
            Call objArrayList.Add(vntItem)
    Next
    Call objArrayList.Sort
    ComboBox1.List = objArrayList.ToArray
    Set objArrayList = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Daten aus Spalte automatisch in die ComboBox
13.10.2017 13:30:22
Tani
Hi Nepmunk,
ich werde es gleich mal nach Feierabend ausprobieren vielen Dank.
Kannst du mir vllt paar Kommentare zu den Zeilen hinzufügen?
habe den Code nicht wirklich verstanden .
Besten Dank im Voraus.
LG
Tina
AW: Daten aus Spalte automatisch in die ComboBox
13.10.2017 13:38:05
Nepumuk
Hallo Tina,
bitteschön:
Private Sub UserForm_Initialize()
    
    Dim avntValues As Variant, vntItem As Variant
    Dim objArrayList As Object
    
    'Erzeuge eine Instanz eines Arraylist-Objektes
    Set objArrayList = CreateObject("System.Collections.ArrayList")
    
    'Verweis auf Tabellenblatt
    With Worksheets("Tabelle1")
        
        'Alle Zellen der Spalte A von Zeile 1 bis zur letzten benutzten Zeile in ein Array einlesen
        avntValues = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)).Value2
        
    End With
    
    'Schleife über alle Werte im Array
    For Each vntItem In avntValues
        
        'Wenn das Arraylist-Objekt den Einrtrag noch nicht enthält diesen Einfügen
        If Not objArrayList.Contains(vntItem) Then _
            Call objArrayList.Add(vntItem)
    Next
    
    'Arraylist-Objekt Werte sortieren
    Call objArrayList.Sort
    
    'Arraylist-Objekt Werte in Combobox einfügen
    ComboBox1.List = objArrayList.ToArray
    
    'Arraylist-Objekt zerstören
    Set objArrayList = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Daten aus Spalte automatisch in die ComboBox
13.10.2017 12:40:38
fcs
Hallo Tani,
Ist das prinzipiell machbar?
Ja, nachfolgend ein Beispiel-Code für ein Userform.
Die Namen von Tabellenblatt und Combobox sowie die Nummer der Zeile mit dem 1. Namen in der For-Next-Schleife musst du anpassen.
Die Auswahlliste der Combobox wird dann automatisch angepasst, wenn das Userform gestartet wird.
Alternatic zum Collection-Objekt könnte man auch mit einem Scripting-Objekt arbeiten, das eine Liste ohne doppelte Einträge erstellt.
Gruß
Franz
Option Explicit
'Code unter dem Userform
Private Sub GetListeNamen()
'Combobox-Auswahlliste mit Namen ohne Doppelte füllen
Dim wksNamen As Worksheet
Dim Zeile As Long
Dim objCol As New Collection
On Error GoTo Fehler
Set wksNamen = Worksheets("Tabellenblatt1")
With wksNamen
For Zeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(Zeile, 1).Text  "" Then
objCol.Add Item:=.Cells(Zeile, 1).Value, Key:=.Cells(Zeile, 1).Text
Me.ComboBox1.AddItem .Cells(Zeile, 1)
End If
Nextzeile:
Next
End With
Fehler:
With Err
Select Case .Number
Case 0
Case 457 'doppeltes Key-Item für Collection
Resume Nextzeile
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
set objCol = Nothing
End Sub
Private Sub UserForm_Initialize()
Call GetListeNamen
End Sub

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige