Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: combobox ohne userform ?

combobox ohne userform ?
11.12.2007 19:29:00
Ano
hallo zusammen,
folgendes habe ich

Public Sub Listenfeld()
With BMK_Zeile_wählen
.ComboBox1.AddItem "Zeile 1"
.ComboBox1.AddItem "Zeile 2"
.Show
End With
End Sub


nun habe ich folgendes problem. mit der userform schreibe ich ja z.B. "with BMK_Zeile_wählen" dies ist der name der userform.
wie aber mache ich dies wen die combobox in einem tabellenblatt ist und nicht mit einer userform aufgerufen wird?
gruess

Anzeige

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

Betreff
Datum
Anwender
Anzeige
gehts so ?
11.12.2007 19:43:59
Matthias
Hallo
in ein Modul

Public Sub Listenfeld()
With ActiveSheet
.ComboBox1.AddItem "Zeile 1"
.ComboBox1.AddItem "Zeile 2"
End With
End Sub


und ohne .Show
'oder
'Empfehlung:
'With Worksheet("Tabelle1") 'Tabellenname anpassen!
Userbild

Anzeige
AW: gehts so ?
11.12.2007 20:23:00
Ano
danke matthias.
die version mit activesheet funktioniert. da ist aber der nachteil das ich zuerst dieses eben activ setzen muss und dann den code ausführe. die version mit worksheet("tabellexy") funktioniert bei mir nicht?
gruess

AW: gehts so ?
11.12.2007 20:47:07
Horst
Hi,
es muss Worksheets heißen.
mfg Horst

Anzeige
gerade erst gesehen Danke für's korrigieren _oT
11.12.2007 21:03:00
Matthias

Sorry, Worksheets("xyz") mit "s" ! ___oT
11.12.2007 21:01:49
Matthias

AW: Sorry, Worksheets("xyz") mit "s" ! ___oT
11.12.2007 21:20:00
Ano
danke euch.
schönen abend noch.
gruess

Anzeige
AW: sortieren
11.12.2007 21:39:09
Ano
hab noch eine frage, kann ich in einer combobox die einträge automatisch sortieren z.b. nach abc ? oder müssen diese zwingend so im code niedergeschrieben werden?

AW: sortieren
11.12.2007 21:51:00
Ano
gibts da eine möglichkeit?
gruess

AW: sortieren
12.12.2007 16:05:50
Sven
Hi,
da du ohnehin mit AddItem hantierst, kannst du es doch gleich in der richtigen Reihenfolge
codieren.
mfg Sven
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

ComboBox in Excel ohne UserForm nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du die ComboBox einfügen möchtest.

  2. Aktiviere die Entwicklertools: Wenn der Tab nicht sichtbar ist, aktiviere ihn über die Excel-Optionen.

  3. Füge eine ComboBox ein: Klicke in der Gruppe „Steuerelemente“ auf „Einfügen“ und wähle die ComboBox aus.

  4. Weise der ComboBox eine Datenquelle zu: Öffne den VBA-Editor (Alt + F11) und füge ein neues Modul hinzu.

  5. Füge den folgenden Code ein:

    Public Sub Listenfeld()
       With ActiveSheet
           .ComboBox1.AddItem "Zeile 1"
           .ComboBox1.AddItem "Zeile 2"
       End With
    End Sub
  6. Starte das Makro: Du kannst das Makro direkt aus dem VBA-Editor oder über die Excel-Oberfläche ausführen.


Häufige Fehler und Lösungen

  • Fehler: ComboBox nicht gefunden
    Stelle sicher, dass Du die ComboBox korrekt benannt hast. Der Name sollte mit .ComboBox1 übereinstimmen.

  • Lösung: Verwendung von Worksheets
    Wenn Du auf ein bestimmtes Arbeitsblatt zugreifen möchtest, benutze den folgenden Code:

    With Worksheets("Tabelle1") ' Tabellennamen anpassen!
      .ComboBox1.AddItem "Zeile 1"
      .ComboBox1.AddItem "Zeile 2"
    End With

    Achte darauf, dass „Tabelle1“ genau dem Namen des Arbeitsblatts entspricht.


Alternative Methoden

  • Daten aus einem Bereich hinzufügen: Du kannst auch eine Liste von Zellen verwenden, um die Elemente der ComboBox zu füllen:

    Public Sub Listenfeld()
       Dim rng As Range
       Set rng = Worksheets("Tabelle1").Range("A1:A10") ' Angepasster Bereich
       Dim cell As Range
    
       For Each cell In rng
           If cell.Value <> "" Then
               .ComboBox1.AddItem cell.Value
           End If
       Next cell
    End Sub
  • Automatisches Sortieren: Wenn Du die Einträge nach ABC sortieren möchtest, musst Du diese manuell im Code in der gewünschten Reihenfolge hinzufügen, da die ComboBox nicht automatisch sortiert.


Praktische Beispiele

  1. Einträge manuell hinzufügen:

    Public Sub Listenfeld()
       With ActiveSheet
           .ComboBox1.AddItem "Banane"
           .ComboBox1.AddItem "Apfel"
           .ComboBox1.AddItem "Orange"
       End With
    End Sub
  2. Einträge aus einer Liste:

    Public Sub Listenfeld()
       Dim items As Variant
       items = Array("Banane", "Apfel", "Orange")
    
       For i = LBound(items) To UBound(items)
           ActiveSheet.ComboBox1.AddItem items(i)
       Next i
    End Sub

Tipps für Profis

  • Verwende Datenüberprüfung in Excel, um sicherzustellen, dass die Benutzer nur gültige Eingaben in die ComboBox machen.
  • Nutze Fehlerbehandlungsroutinen im VBA-Code, um unerwartete Fehler zu vermeiden.
  • Experimentiere mit der Formatierung der ComboBox, um sie an das Design Deiner Excel-Anwendung anzupassen.

FAQ: Häufige Fragen

1. Kann ich die ComboBox in einer Tabelle verwenden?
Ja, Du kannst die ComboBox in einer Tabelle verwenden. Stelle sicher, dass Du den richtigen Bezug zu den Zellen hast.

2. Wie kann ich die ComboBox zurücksetzen?
Du kannst die ComboBox zurücksetzen, indem Du den Inhalt mit .Clear löschst:

ActiveSheet.ComboBox1.Clear

3. Kann ich die ComboBox mit Daten aus einer externen Datei füllen?
Ja, Du kannst Daten aus einer externen Datei importieren und diese dann in die ComboBox einfügen, indem Du die Daten zuerst in eine Variable lädst und dann hinzufügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige