Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
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
ComboBox füllen
05.03.2018 14:36:29
Zoe401
Ich möchte meine ComboBox1 füllen. Die ist direkt auf meinen Tabellenblatt und soll von Anfang an beim öffnen drei Daten drin stehen haben.
Ich verstehe nicht wieso in meine ComboBox nichts erscheint?
Private Sub UserForm_Initialize()
With Me.ComboBox1
.AddItem "Prüfprotokoll"
.AddItem "Prüfprotokoll 1"
.AddItem "Prüfprotokoll 2"
.ListIndex = 1
End With
End Sub

Freu mich über Hilfe

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox füllen
05.03.2018 14:41:59
Hajo_Zi
der Code ist nicht für eine Combobox in der Tabelle sondern UserForm.
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
ActiveX-Steuerelement ? funktioniert doch...
05.03.2018 14:49:19
robert
AW: ComboBox im Blatt
05.03.2018 14:48:51
Fennek
Hallo,
direkt auf dem Arbeitsblatt geht das so:

Sub T_1()
Range("A1").Validation.Add xlValidateList, , xlBetween, Formula1:="Prüfprotokoll, Prüfprotokoll  _
1, Prüfprotokoll 2"
End Sub
Auf einer UserForm geht das so änhlich wie in der Frage gezeigt.
mfg
AW: ComboBox füllen
05.03.2018 15:20:52
Zoe401
Ich möchte nur, dass die Liste von Anfang an befüllt ist und am besten den ersten Text schon drinnen stehen hat, wieso klappt das nicht?
Das einzige was bis jetzt funktioniert hat ist folgendes, aber da erscheint nur was in der ComboBox wenn ich das Worksheet kurz welchsel und wieder zurück wechsel:
Private Sub Worksheet_Activate()
ComboBox.List1 = Array("Protokoll", "Protokoll1", "Protokoll2")
End Sub

Anzeige
AW: ComboBox füllen
05.03.2018 15:32:34
UweD
Hallo
bei welcher Aktion soll das denn reingeschrieben werden?
die Bekanntesten wären
Private Sub Worksheet_Activate()
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Private Sub Worksheet_Calculate()
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub Worksheet_Deactivate()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Einige können dabei noch auf bestimmte Zellen begrenzt werden
LG UweD
Anzeige
AW: ComboBox füllen
05.03.2018 15:35:47
Werner
Hallo,
wenn du sie beim Öffnen der Datei befüllen willst, dann solltest du auch das Workbook_Open Ereignis nehmen.
Der Code gehört ins Codemodul von DieseArbeitsmappe
Private Sub Workbook_Open()
With Worksheets("Tabelle1").ComboBox1 'Blattname anpassen
.AddItem "Prüfprotokoll"
.AddItem "Prüfprotokoll 1"
.AddItem "Prüfprotokoll 2"
.ListIndex = 1
End With
End Sub
Gruß Werner
.Combobox1.Clear einbauen ! owT
05.03.2018 15:41:46
robert
AW: .Combobox1.Clear einbauen ! owT
06.03.2018 07:58:34
Zoe401
Danke! Mach ich...
nö, wozu denn?
06.03.2018 09:23:23
Werner
Hallo Robert,
ist doch nicht notwendig, ist im Workbook_Open, also kann nichts in der Combobox drin sein was man Clearen könnte.
Gruß Werner
Anzeige
.und beim 2. Open ? Combobox ist doch gefüllt..
06.03.2018 19:24:05
robert
Sorry Werner,Du hast Recht :-) owT
06.03.2018 19:29:02
robert
AW: ComboBox füllen
05.03.2018 16:14:59
Robert
Hallo,
Du schreibst "Die ist direkt auf meinen Tabellenblatt". Also ist die ComboBox in keinem Formular. Somit wird auch niemals das Event UserForm_Initialize aufgerufen.
Gruß
Robert
AW: ComboBox füllen
06.03.2018 07:05:17
Zoe401
Egal was ich mache, die füllt sich einfach nicht!
Habe mal die Tabelle angehangen...
Vielleicht guckt sich das mal jemand an, wäre echt dankbar
https://www.herber.de/bbs/user/120221.xlsx
AW: ComboBox füllen
06.03.2018 07:51:14
Hajo_Zi
das geht nicht, da eine XLSX Datei kein Makro enthalten kann.
Ich sehe keinen Grund eine Datei 2x zu speichern. Ich führe keine Liste unter welchem Dateinamen ich die Datei gespeichert habe.
Gruß Hajo
Anzeige
Danke an alle, habe es hinbekommen
06.03.2018 07:57:24
Zoe401
Habe es nicht unter "DieseArbeitsmappe" geschrieben. Obwohl ich eigentlich alles ausprobeirt habe, habe ich da wohl nicht draufgeklickt!
Jetzt geht es.
Danke an alle!
Gerne u. Danke für die Rückmeldung. o.w.T.
06.03.2018 09:23:48
Werner

58 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Anzeige

Infobox zum Thema

EXCEL - Combobox vorbelegen


Inhaltsverzeichnis

  1. Was ist die Aufgabe?
  2. Problem
  3. Lösungsweg
  4. Beispiel
  5. Zusammenfassung

Was ist die Aufgabe?

Sie möchten eine ComboBox, die sich direkt auf Ihrem Arbeitsblatt befindet, beim Öffnen der Arbeitsmappe mit drei Einträgen füllen.


Problem

Die von Ihnen bereitgestellte VBA-Prozedur UserForm_Initialize wird für die Initialisierung von UserForms verwendet. Die auf Ihrem Arbeitsblatt platzierte ComboBox ist jedoch kein UserForm-Steuerelement, sondern ein ActiveX-Steuerelement. Daher ist die Prozedur UserForm_Initialize nicht der richtige Ort, um dieses Steuerelement zu initialisieren.


Lösungsweg

Um die ComboBox beim Öffnen des Arbeitsblattes zu füllen, sollten Sie den Code in das Workbook_Open-Ereignis des ThisWorkbook-Objekts in Ihrem VBA-Projekt einfügen.

  1. Öffnen Sie den VBA-Editor (Alt + F11).
  2. Im Projekt-Explorer auf der linken Seite doppelklicken Sie auf ThisWorkbook.
  3. Wählen Sie im oberen Dropdown-Menü "Workbook" aus.
  4. Fügen Sie den Code in das Workbook_Open-Ereignis ein.

Beispiel

Private Sub Workbook_Open()
    With Sheets("IhrTabellenblattname").ComboBox1
        .Clear 'Entfernt vorherige Einträge
        .AddItem "Prüfprotokoll"
        .AddItem "Prüfprotokoll 1"
        .AddItem "Prüfprotokoll 2"
        .ListIndex = 1
    End With
End Sub

Bitte ersetzen Sie "IhrTabellenblattname" durch den tatsächlichen Namen Ihres Tabellenblatts, auf dem sich die ComboBox befindet.


Zusammenfassung

Für eine ComboBox, die direkt auf einem Excel-Tabellenblatt platziert ist, sollten Sie den Workbook_Open-Event verwenden, um sie beim Öffnen der Arbeitsmappe zu füllen. Der von Ihnen bereitgestellte UserForm_Initialize-Event ist für UserForms vorgesehen und funktioniert daher nicht für auf Arbeitsblättern platzierte ActiveX-Steuerelemente.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige