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

Forumthread: ComboBox1 nimmt den ausgewählten Wert nicht an

ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 02:03:43
Tony
Hallo,
wenn ich in meiner ComboBox einen Eintrag auswähle wird leider der ausgewählte Wert nicht da angezeigt, sondern bleibt immer noch leer. Was mache ich falsch? Mein verwendeter Code steht unten. Vielen Dank schon im Voraus.
Tony

Private Sub ComboBox1_DropButtonClick()
Dim sPfad As String
Dim Name1 As String
Dim Pfad As String
Dim Ort As String
Worksheets("Tabelle1").ComboBox1.Clear
Ort = "C:\Temp\"
sPfad = Ort & "*.csv"
If Dir(sPfad, vbDirectory) = "" Then
'Pfad existiert nicht!
Else
Name1 = Dir(sPfad) ' Ersten Eintrag abrufen.
Do While Name1 <> ""  ' Schleife beginnen.
Worksheets("Tabelle1").ComboBox1.AddItem Name1  ' Eintrag nur anzeigen, wenn es sich
Name1 = Dir ' Nächsten Eintrag abrufen.
Loop
End If
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 06:02:13
Hajo_Zi
Hallo Tony,
warum hast Du Dich für _DropButtonClick() entschieden? Ich hätte wahrscheinlich das Click Ereignis benutzt, wenn es schon eine Aktion der Combobox sein müssen.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 06:18:49
Tony
Hallo Hajo,
danke schon mal für den Hinweis. Leider hilft das nicht. Ich habe mich für DropButtonClick entschieden, damit alle .csv Dateinamen aus dem Ordner in die ComboBox reingeladen werden. Ich hab's vorhin nochmal mit nur Click ausprobiert und da wird nichts in die ComboBox geladen. Soweit passt ja alles eigentlich, nur verstehe ich noch nicht, wie ich es schaffen kann, dass die ComboBox den aus dem Menü ausgewählten Wert anzeigt und nicht den erstgezeigten Wert?
Ich mache vermutlich etwas grundlegend falsch bei der Verwendung einer ComboBox?
Anzeige
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 07:49:42
Heiko
Moin Tony,
es ist ja noch ziemlich früh und ich hab die Augen noch nicht ganz auf, aber nutzt du obigen Code zum auswählen eines Eintrages aus der Combobox ? !!!!
Denn der Code befüllt die Box doch erstmal ?!
Bitte um Hinweise !
Gruß Heiko
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 13:01:56
Tony
Hallo Heiko,
genau so ist es. Vermutlich liegt da mein Fehler. Ok, wie kann ich nach dem erfolgreichen Befüllen der ComboBox mit den Namen der .csv Dateien in einem Ordner eins davon auswählen, so dass dieser ausgewählte Name mit Worksheets("Tabelle1").ComboBox1.Value weiterverarbeitet werden kann?
Vielen Dank im Voraus.
Tony
Anzeige
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 14:02:09
Heiko
Hallo
in das Tabellenblatt wo sich die Combobox befindet (ungetestet).

Private Sub ComboBox1_Click()
ActiveWorksheet.Range("A1").Value = Combobox1.Value
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 14:08:59
Heiko
Hallo nochmal,
nun getestet.

Private Sub ComboBox1_Change()
ActiveSheet.Range("A1").Value = ComboBox1.Value
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 14:40:24
Tony
Hallo Heiko,
danke für Deine Bemühungen. Ich verwende nun

Private Sub ComboBox1_DropButtonClick()
Dim sPfad As String
Dim Name1 As String
Dim Pfad As String
Dim Ort As String
Worksheets("Tabelle1").ComboBox1.Clear
Ort = "C:\Temp\"
sPfad = Ort & "*.csv"
If Dir(sPfad, vbDirectory) = "" Then
'Pfad existiert nicht!
Else
Name1 = Dir(sPfad) ' Ersten Eintrag abrufen.
Do While Name1 <> ""  ' Schleife beginnen.
Worksheets("Tabelle1").ComboBox1.AddItem Name1  ' Eintrag nur anzeigen, wenn es sich
Name1 = Dir ' Nächsten Eintrag abrufen.
Loop
End If
Worksheets("Tabelle1").ComboBox1.ListIndex = "0"
End Sub


Private Sub ComboBox1_Change()
Worksheets("Tabelle1").Range("A1").Value = Worksheets("Tabelle1").ComboBox1.Value
End Sub

mit dem Ergebnis, dass wenn ich aus der ComboBox PER MAUSCLICK auswähle stets der erste Eintrag ausgewählt wird, also ListIndex = 0.
ABER wenn ich einfach in das ComboBox-Feld hineinklicke und PER TASTATUR den Wert der ComboBox auswähle, dann wird der neue Wert übernommen und alles funktioniert einwandfrei. Ich muss also noch schaffen, dass sich die ComboBox bei einem Mausklick genauso verhält, wie bei Auswahl über die Tastatur.
Konkret nochmal, wie kann ich es schaffen, dass die ComboBox NACHDEM ich aus der ComboListe einen Wert PER MAUSKLICK auswähle (z.B. per Klick, oder mit Alt zunächst die ComboBox öffnen und danach ENTER drücken) diesen Wert auch übernimmt? Eigentlich bin ich ganz knapp vor dem Ziel...
Anzeige
AW: ComboBox1 nimmt den ausgewählten Wert nicht an
06.05.2005 14:52:31
Heiko
Hallo
du mußt das befüllen der Combobox an andere Ereignisse knüpfen.
z.B.

Private Sub Worksheet_Activate()
' hier dein Code aus DropButton
End Sub

oder

Private Sub Worksheet_Change()
' hier dein Code aus DropButton
End Sub

Denn befüllen und auslesen gleichzeitig wenn du die Box anklickst, bringt natürlich Probleme.
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
DANKE HEIKO S. !!! Du bist SPITZE !!!
06.05.2005 15:17:33
Tony
Hallo Heiko,
mit dem letzten Tip funktioniert es nun einwandfrei. Ich verwende nun

Private Sub Workbook_Open()
ComboBoxAktualisieren
End Sub

und das Code zum Befüllen der ComboBox habe ich in die Prozedur ComboBoxAktualisieren reingepackt. Der Grund wieso ich am Anfang, ComboBox1_DropButtonClick() zum Aktualisieren hergenommen hatte, war der, dass sich die Csv-Liste stets automatisch bei jedem ComboBox-Menüklick aktualisiert, auch wenn ich Excel nicht neustarte oder meine Workbook neu öffne. Als bisherige Lösung habe ich nun ein Button neben die ComboBox gesetzt und dieses Button auch auf ComboBoxAktualisieren gelenkt, so dass man jederzeit die Csv-Dateienliste per Buttonklick aktualisieren kann.
Wenn Du eine bessere Idee hast, die auch ohne Buttonklick auskommt und troztdem stets die aktuelle Csv-Dateienliste anzeigt (ohne das Workbook neu öffnen zu müssen) wäre ich Dir dankbar. Ansonsten bin ich auch mit der jetzigen Lösung zufrieden. Man kann schon mal damit arbeiten. Danke nochmal! Auch an alle anderen Helfer in diesem Forum!
Anzeige
;

Forumthreads zu verwandten Themen

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

ComboBox in Excel: Auswahl des Wertes korrekt anzeigen


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass die ComboBox in Excel den ausgewählten Wert korrekt anzeigt, gehe wie folgt vor:

  1. ComboBox befüllen: Stelle sicher, dass deine ComboBox mit den gewünschten Werten gefüllt wird. Hier ist ein Beispielcode, der CSV-Dateien aus einem bestimmten Ordner lädt:

    Private Sub ComboBox1_DropButtonClick()
        Dim sPfad As String
        Dim Name1 As String
        Dim Ort As String
        Worksheets("Tabelle1").ComboBox1.Clear
        Ort = "C:\Temp\"
        sPfad = Ort & "*.csv"
    
        If Dir(sPfad, vbDirectory) = "" Then
            ' Pfad existiert nicht!
        Else
            Name1 = Dir(sPfad) ' Ersten Eintrag abrufen.
            Do While Name1 <> ""  ' Schleife beginnen.
                Worksheets("Tabelle1").ComboBox1.AddItem Name1  ' Eintrag nur anzeigen.
                Name1 = Dir ' Nächsten Eintrag abrufen.
            Loop
        End If
    End Sub
  2. Wert der Auswahl übernehmen: Verwende den Change-Event, um den aktuell ausgewählten Wert in eine Zelle zu schreiben:

    Private Sub ComboBox1_Change()
        Worksheets("Tabelle1").Range("A1").Value = Worksheets("Tabelle1").ComboBox1.Value
    End Sub
  3. Automatische Aktualisierung: Um die ComboBox bei jedem Öffnen der Arbeitsmappe zu aktualisieren, kannst du den folgenden Code in das Workbook_Open-Ereignis einfügen:

    Private Sub Workbook_Open()
        ComboBoxAktualisieren
    End Sub
    
    Private Sub ComboBoxAktualisieren()
        ComboBox1_DropButtonClick
    End Sub

Häufige Fehler und Lösungen

  • ComboBox bleibt leer: Wenn die ComboBox nach der Auswahl leer bleibt, überprüfe, ob du den richtigen Event (Change oder Click) verwendest, um den Wert zu übernehmen. Das Beispiel oben zeigt, wie man den Change-Event korrekt nutzt.

  • Erster Eintrag wird immer angezeigt: Wenn beim Mausklick immer der erste Eintrag angezeigt wird, stelle sicher, dass du die Events nicht gleichzeitig befüllst und abfragst. Nutze verschiedene Events für diese Aktionen.


Alternative Methoden

  • Button zur Aktualisierung: Wenn du einen Button neben der ComboBox platzierst, kannst du die Liste der CSV-Dateien manuell aktualisieren. Dies ist nützlich, wenn die Datenquelle häufig wechselt.

  • Direktes Auslesen: Du kannst auch das Worksheet_Activate-Event nutzen, um die ComboBox bei aktivem Blatt zu aktualisieren:

    Private Sub Worksheet_Activate()
        ComboBox1_DropButtonClick
    End Sub

Praktische Beispiele

  • Beispiel für das Laden von CSV-Dateien: Wenn deine CSV-Dateien im Ordner C:\Temp\ gespeichert sind, kannst du die oben genannten Codes verwenden, um alle Dateinamen in die ComboBox zu laden.

  • Auswahl speichern: Durch die Verwendung des Change-Events kannst du den ausgewählten Wert in Zelle A1 speichern, wodurch du ihn später in Berechnungen oder anderen Prozeduren verwenden kannst.


Tipps für Profis

  • Verwende ListIndex: Um den Standardwert der ComboBox zu setzen, kannst du ComboBox1.ListIndex = 0 verwenden, um den ersten Eintrag auszuwählen.

  • Ereignisse entkoppeln: Achte darauf, dass das Befüllen der ComboBox und das Auslesen des Wertes in separaten Ereignissen stattfindet, um unerwartete Verhalten zu vermeiden.


FAQ: Häufige Fragen

1. Warum wird der Wert in der ComboBox nach Auswahl nicht angezeigt? Es kann daran liegen, dass der falsche Event verwendet wird. Stelle sicher, dass du den Change-Event nutzt, um den ausgewählten Wert zu übernehmen.

2. Wie kann ich die ComboBox automatisch aktualisieren? Du kannst den Code zum Befüllen der ComboBox in das Workbook_Open-Ereignis einfügen, um sicherzustellen, dass die Liste bei jedem Öffnen der Datei aktualisiert wird.

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