Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Comboboxen und Labels automatisch erstellen

Forumthread: Comboboxen und Labels automatisch erstellen

Comboboxen und Labels automatisch erstellen
03.06.2016 12:13:34
baschti007
Halli Hallo einen schönen Freitag euch allen =)
Ich habe eine Tabelle mit Überschriften die in die Labels auf einer User Form gefüllt werden und Comboboxen die mit den Werten gefüllt werden.
Nun meine Frage wie erstelle ich einen Code der automatisch guckt wie viele Überschriften sich in dem Tabellenblatt befinden , dann Automatisch auf die User form die Anzahl an Label und Comboboxen erstellt und diese mit Daten füllt.
https://www.herber.de/bbs/user/105958.xlsm
Gruß Basti

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Comboboxen und Labels automatisch erstellen
03.06.2016 13:00:58
Rudi
Hallo,
Private Sub UserForm_Initialize()
Dim i As Long, objLabel, objCBX, arrList
For i = 1 To WorksheetFunction.CountA(Tabelle1.Rows(1))
With Tabelle1
arrList = .Range(.Cells(2, i), .Cells(Rows.Count, i).End(xlUp)).Value
End With
Set objLabel = Controls.Add("forms.label.1")
With objLabel
.Top = (i - 1) * 42 + 18
.Height = 18
.Width = 80
.Left = 30
.Caption = Tabelle1.Cells(1, i)
End With
Set objCBX = Controls.Add("forms.combobox.1")
With objCBX
.Top = objLabel.Top + 12
.Height = 18
.Width = objLabel.Width
.Left = objLabel.Left
.List = arrList
End With
Next
End Sub

Gruß
Rudi

Anzeige
Danke =)
03.06.2016 13:43:52
baschti007
Hallo Rudi du bist mein Held =) vielen Dank
wie kann ich sagen das er nach dem er den 10 durchlauf der schleife beendet hat wieder oben etwas weiter rechts anfängt die Comboboxen+ Labels zu erstellen ?
Gruß BAsti

AW: Danke =)
05.06.2016 23:39:25
Rudi
Hallo,
indem du dir für .Top und .Left einen Algoritmus ausdenkst.
Das mach ich nicht für dich. Darin liegt doch der Spaß!
Gruß
Rudi

Anzeige
AW: Alternativ-Lösung mit List- und Combobox
03.06.2016 15:06:50
Daniel
Hi
eine Variable Anzahl von Steuerlementen bzw zur Laufzeit erstellte Elemente sind immer etwas kompliziert in der Anwendung.
im Prinzip kannst du deine Aufgabe mit einer Listbox und einer Combobox lösen.
in der Listbox stehen in der ersten Spalte die Überschriften aus der ersten Zeile und in der zweiten Spalte der ausgewählte Wert (der ist am Anfang natürlich leer)
wenn du eine Zeile in der Listbox anklickst, dann springt die Combobox an die entsprechende Stelle und liest ihre Daten aus der dazugehörigen Tabellenspalte.
Wenn du in der Combobox einen Wert anklickst, wird dieser dann in die zweite Spalte der Listbox geschrieben.
das ganze passt sich an eine beliebige Anzahl an Tabellenspalten an.
Vorteil ist, dass du immer nur die eine Listbox auswerten musst und nicht eine Variable Anzahl von Comboboxen. Das passt besser zu deinem Level.
https://www.herber.de/bbs/user/105962.xlsm
Gruß Daniel

Anzeige
AW: einfach 2 listboxes & 2 CodeZeilen
04.06.2016 14:04:08
Daniel
Hi snb
ja hab ich angeschaut.
kann aber nichts sinnvolles daran erkennen.
Es werden keine eingaben gespeichert und die Auswahl enthält auch immer die Gruppenüberschrift.
also noch sehr rudimentär das ganze.
viellicht schreibst du einfach mal ein paar Worte dazu, damit deutlich wird was das besondere daran ist.
gruß Daniel

Anzeige
AW: einfach 2 listboxes & 3 CodeZeilen
04.06.2016 18:32:20
Daniel
ist aber nur dynamisch in bezug auf die Spalten, aber nicht auf die Zeilen!
und die zweite Listbox ist permanent sichtbar.
Gruß Daniel

Danke
06.06.2016 06:48:58
baschti007
Vielen Dank euch =)
Schönen Montag
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Comboboxen und Labels automatisch erstellen in Excel


Schritt-für-Schritt-Anleitung

Um Comboboxen und Labels automatisch in Excel zu erstellen, kannst Du den folgenden VBA-Code verwenden. Dieser Code zählt die Überschriften in der ersten Zeile und erstellt dynamisch die entsprechenden Labels und Comboboxen auf einer UserForm.

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge eine neue UserForm hinzu.
  3. Kopiere den folgenden Code in das Codefenster der UserForm:
Private Sub UserForm_Initialize()
    Dim i As Long, objLabel, objCBX, arrList
    For i = 1 To WorksheetFunction.CountA(Tabelle1.Rows(1))
        With Tabelle1
            arrList = .Range(.Cells(2, i), .Cells(Rows.Count, i).End(xlUp)).Value
        End With
        Set objLabel = Controls.Add("forms.label.1")
        With objLabel
            .Top = (i - 1) * 42 + 18
            .Height = 18
            .Width = 80
            .Left = 30
            .Caption = Tabelle1.Cells(1, i)
        End With
        Set objCBX = Controls.Add("forms.combobox.1")
        With objCBX
            .Top = objLabel.Top + 12
            .Height = 18
            .Width = objLabel.Width
            .Left = objLabel.Left
            .List = arrList
        End With
    Next
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe die UserForm aus, um die Labels und Comboboxen zu sehen.

Häufige Fehler und Lösungen

  • Problem: UserForm zeigt keine Labels oder Comboboxen an.

    • Lösung: Stelle sicher, dass die erste Zeile in Tabelle1 die Überschriften enthält und dass es Daten in den entsprechenden Spalten gibt.
  • Problem: Die Positionsangaben für Labels und Comboboxen sind nicht korrekt.

    • Lösung: Überprüfe die Berechnung der .Top und .Left Eigenschaften im Code und passe sie gegebenenfalls an.

Alternative Methoden

Eine alternative Methode ist die Verwendung von Listboxen und Comboboxen. Hierbei kannst Du eine Listbox erstellen, die die Überschriften anzeigt. Wenn Du eine Zeile auswählst, wird die entsprechende Combobox aktualisiert. Dies hat den Vorteil, dass Du nicht eine variable Anzahl von Comboboxen verwalten musst.

Hier ein einfaches Konzept:

  1. Erstelle eine Listbox für die Überschriften.
  2. Erstelle eine Combobox, die sich basierend auf der Auswahl in der Listbox ändert.

Praktische Beispiele

Ein Beispiel für die Nutzung von Labels und Comboboxen könnte so aussehen:

  • Du hast eine Tabelle mit Produktinformationen. Die erste Zeile enthält die Überschriften wie "Produktname", "Preis", "Menge".
  • Du möchtest eine UserForm, die es dem Benutzer ermöglicht, Daten zu einem Produkt auszuwählen und zu bearbeiten.

Du könntest den oben genannten VBA-Code anpassen, um die Labels und Comboboxen für diese Informationen zu erstellen.


Tipps für Profis

  • Experimentiere mit dem Layout der UserForm, um ein ansprechenderes Design zu kreieren.
  • Nutze die .List-Eigenschaft der Combobox, um dynamisch Werte aus einer Datenquelle zu laden.
  • Erweitere den Code, um zusätzliche Funktionen wie das Speichern von Eingaben oder das Validieren von Benutzereingaben zu integrieren.

FAQ: Häufige Fragen

1. Wie kann ich Labels erstellen, die auf bestimmten Bedingungen basieren? Du kannst die Bedingungen innerhalb der For-Schleife einfügen, bevor Du die Labels erstellst.

2. Ist es möglich, die Anzahl der Comboboxen zu begrenzen? Ja, Du kannst eine Bedingung in die Schleife einfügen, um die Anzahl der erstellten Comboboxen zu steuern, beispielsweise durch einen Zähler.

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