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

Forumthread: Mehrere Comboboxen gleich befüllen

Mehrere Comboboxen gleich befüllen
21.06.2007 13:58:00
Alex
Hallo,
ich hab folgendes Problem:
Ich möchte 17 Comboboxen mit den gleichen Inhalten füllen. Kann ich das über eine for-Schleife machen?
Mein Code sieht so aus, funktioniert aber nicht:

Sub comboboxenfüllen()
Dim i as Integer
for i=1 to 17
with worksheets("Tabelle1").combobox & i
.clear
.additem"1"
.additem"2"
.additem"10"
end with
next
End Sub


Danke schonmal für eure Hilfe!
Grüße
Alex

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Comboboxen gleich befüllen
21.06.2007 14:03:00
Matthias
Hallo Alex,
so geht's:

Sub comboboxenfüllen()
Dim i As Integer, j As Integer
For i = 1 To 17
With Worksheets("Tabelle1").OLEObjects("ComboBox" & i).Object
.Clear
For j = 1 To 10
.AddItem j
Next j
End With
Next i
End Sub


Gruß Matthias

Anzeige
AW: Mehrere Comboboxen gleich befüllen
21.06.2007 14:13:00
Alex
Hallo Matthias,
super klasse! danke für die schnelle Antwort! Damit hast du mir meinen Nachmittag gerettet!
Grüße
Alex
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Comboboxen in Excel VBA gleich befüllen


Schritt-für-Schritt-Anleitung

Um mehrere Comboboxen in Excel VBA gleich zu befüllen, kannst Du den folgenden Code verwenden. Dieser Code nutzt eine For-Schleife, um alle Comboboxen auf einem Arbeitsblatt zu befüllen.

Sub comboboxenfüllen()
    Dim i As Integer, j As Integer
    For i = 1 To 17
        With Worksheets("Tabelle1").OLEObjects("ComboBox" & i).Object
            .Clear
            For j = 1 To 10
                .AddItem j
            Next j
        End With
    Next i
End Sub

Stelle sicher, dass Du die Comboboxen in Deinem Arbeitsblatt korrekt benannt hast (z.B. ComboBox1, ComboBox2, ...). Dieser Code funktioniert in Excel-Versionen, die VBA unterstützen.


Häufige Fehler und Lösungen

  1. Fehler: "Objekt nicht gefunden"

    • Lösung: Überprüfe, ob die Comboboxen tatsächlich auf dem Arbeitsblatt existieren und korrekt benannt sind.
  2. Fehler: "Typ nicht definiert"

    • Lösung: Stelle sicher, dass Du die richtige Variable für die Schleife (z.B. Dim i As Integer) definiert hast.
  3. Problem beim Füllen der Comboboxen

    • Lösung: Achte darauf, dass Du die OLEObjects-Sammlung verwendest, um auf die Comboboxen zuzugreifen.

Alternative Methoden

Wenn Du auf eine andere Weise mehrere Comboboxen befüllen möchtest, kannst Du auch ein Array verwenden, um die Werte hinzuzufügen:

Sub comboboxenfüllenMitArray()
    Dim i As Integer
    Dim values As Variant
    values = Array("1", "2", "10") ' Werte im Array

    For i = 1 To 17
        With Worksheets("Tabelle1").OLEObjects("ComboBox" & i).Object
            .Clear
            Dim value As Variant
            For Each value In values
                .AddItem value
            Next value
        End With
    Next i
End Sub

Diese Methode ist besonders nützlich, wenn Du eine feste Liste von Werten hast, die Du hinzufügen möchtest.


Praktische Beispiele

Angenommen, Du möchtest die Comboboxen mit verschiedenen Werten befüllen, die in einer Liste auf einem anderen Arbeitsblatt stehen. Dazu kannst Du folgenden Code verwenden:

Sub comboboxenfüllenMitListe()
    Dim i As Integer
    Dim ws As Worksheet
    Set ws = Worksheets("Daten") ' Arbeitsblatt mit den Daten

    For i = 1 To 17
        With Worksheets("Tabelle1").OLEObjects("ComboBox" & i).Object
            .Clear
            Dim j As Integer
            For j = 1 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Anzahl der Werte in Spalte A
                .AddItem ws.Cells(j, 1).Value
            Next j
        End With
    Next i
End Sub

Hierbei werden die Werte aus der ersten Spalte des Arbeitsblatts "Daten" in die Comboboxen eingefügt.


Tipps für Profis

  • Verwende Error Handling: Integriere Error Handling in Deinen Code, um Probleme beim Ausführen des Codes zu vermeiden.

    On Error Resume Next
  • Optimiere Deinen Code: Setze die ScreenUpdating-Eigenschaft auf False, um die Performance zu verbessern, wenn Du viele Comboboxen befüllst.

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Dokumentation: Kommentiere Deinen Code, damit Du und andere ihn leichter verstehen können.


FAQ: Häufige Fragen

1. Wie viele Comboboxen kann ich befüllen? Du kannst so viele Comboboxen befüllen, wie Du möchtest, solange sie im Arbeitsblatt vorhanden sind und Du den Code entsprechend anpasst.

2. Funktioniert das auch in Excel Online? VBA funktioniert nicht in Excel Online. Du musst die Desktop-Version von Excel verwenden, um diesen Code auszuführen.

3. Kann ich die Werte dynamisch aus einer Datenquelle beziehen? Ja, das ist möglich. Du kannst Werte aus einer Datenbank, einer Excel-Liste oder einer anderen Quelle abrufen und in die Comboboxen einfügen.

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