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

Forumthread: Combobox "erster" Wert

Combobox "erster" Wert
ing.grohn
Hallo Forum,
ich habe Probleme mit einer Combobox.
Ich lese Daten aus einer Tabelle in die Combobox ein, klicke auf Pfeil nach unten:
Alle Sätze sind sichtbar/da!
Alle Sätze können gewählt werden (übernommen in Textbox 1), nur der erste nicht!
Warum wird der "erste" nicht übernommen?
Für eine Antwort an diesem sonnigen Sonntag bedanke ich mich!
Hier die Beispieldatei:
https://www.herber.de/bbs/user/71839.xls
Mit freundlichen Grüßen
Albrecht
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Combobox "erster" Wert
10.10.2010 14:13:21
Dirk
Hallo!
Ich habe mal die Datei geladen, aber ich finde keine Routine, welche die userform initialisiert, noch sehe ich irgendwo das die Userform aufgerufen wird.
Kannst Du mal erklaeren, wie die Userform bei Dir erscheint?
gruss
Dirk aus Dubai
AW: Combobox "erster" Wert
10.10.2010 14:45:03
ing.grohn
Hallo Dirk,
hab ich vergessen: ich hab die Userform (Userform1)aus der Umgebung gestartet (ganz von Hand, F5)
sorry!
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Combobox "erster" Wert
10.10.2010 14:45:04
ing.grohn
Hallo Dirk,
hab ich vergessen: ich hab die Userform (Userform1)aus der Umgebung gestartet (ganz von Hand, F5)
sorry!
Mit freundlichen Grüßen
Albrecht
AW: Combobox "erster" Wert
10.10.2010 14:52:19
Hajo_Zi
Hallo Albrecht,
bei mir wird kein Wert übenommen, da ich keinen auswählen kann da ComboBox Leer. Ich habe mit F5 gestartet.

Anzeige
AW: Combobox "erster" Wert
10.10.2010 15:06:55
ing.grohn
Hallo Hajo,
gib mal als Suchbegriff "grohn" ein und dann Pfeil runter
Mit freundlichen Grüßen
Albrecht
AW: Combobox "erster" Wert
10.10.2010 15:11:19
Hajo_Zi
Hallo Albrecht,

der Listindex für die erste Zeile ist -1 und mit >=0  hast Du den ausgeschlossen.

Gruß Hajo
Anzeige
AW: Combobox "erster" Wert
10.10.2010 15:18:40
ing.grohn
Hallo Hajo,
wenn ich die If Abfrage ausblende oder ab -1 beginnen lasse erhalte ich die Meldung, daß der Listindex (zeigt mir -1 im Debugger) falsch ist .
Wie bekomme ich die DAten in die Textbox?
Mit freundlichen Grüßen
Albrecht
AW: Combobox "erster" Wert
10.10.2010 15:59:37
Hajo_Zi
Hallo Albrecht,
ich habe mir das jetzt mal ein wenig intensiver angesehen. Ich habe keine Grunfd gefunden warum der -1 ist. Ich kann nur vermuten bei der Zuweisung der Daten hast Du was falsch gemacht.
Wird die Liste direkt zugewiesen und in der Userform ist nur das Change Ereignis aktiv, dann wird auch der erste Datensatz angezeigt.
Es ist mir zu aufwendig mich in Deinen Code zur Zuweisung einzuarbeiten.
Gruß Hajo
Anzeige
AW: Combobox "erster" Wert
10.10.2010 16:35:48
ing.grohn
Hallo Hajo,
die einzelnen Werte werden über eine Schleife mit:

With frm2.ComboBox1
.AddItem Cells(Val(Zeile), 2)
.List(I, 1) = Cells(Val(Zeile), 3)
.List(I, 2) = Cells(Val(Zeile), 4)
.List(I, 3) = Cells(Val(Zeile), 5)
.List(I, 4) = Cells(Val(Zeile), 6)
.List(I, 5) = Cells(Val(Zeile), 22)
I = I + 1
End With

zugewiesen.
MfG
Albrecht
Anzeige
;

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

Combobox "erster" Wert in Excel VBA


Schritt-für-Schritt-Anleitung

Um das Problem mit der Combobox und dem ersten Wert zu lösen, folge diesen Schritten:

  1. Userform erstellen: Stelle sicher, dass Du eine Userform (z.B. Userform1) in Deinem VBA-Projekt hast.

  2. Combobox hinzufügen: Füge eine Combobox (z.B. ComboBox1) zur Userform hinzu.

  3. Daten einfügen: Verwende den folgenden VBA-Code, um Daten in die Combobox einzufügen:

    Dim I As Integer
    Dim Zeile As Integer
    For Zeile = 1 To 10 ' Beispiel für 10 Zeilen
       With Userform1.ComboBox1
           .AddItem Cells(Zeile, 1).Value ' Erster Wert
           .List(I, 1) = Cells(Zeile, 2).Value
           I = I + 1
       End With
    Next Zeile
  4. Event-Handler hinzufügen: Stelle sicher, dass Du das Change-Ereignis der Combobox wie folgt implementierst:

    Private Sub ComboBox1_Change()
       TextBox1.Value = ComboBox1.Value
    End Sub
  5. Userform testen: Starte die Userform mit F5 und prüfe, ob der erste Wert korrekt angezeigt wird.


Häufige Fehler und Lösungen

  • Fehler: Listindex -1: Wenn Du den Fehler erhältst, dass der Listindex -1 ist, liegt das oft daran, dass noch kein Wert ausgewählt wurde. Stelle sicher, dass Du die Items korrekt in die Combobox einfügst.
  • Lösung: Überprüfe, ob Du die Werte in der Combobox mit .AddItem korrekt hinzufügst und dass die Schleife die richtigen Zellen referenziert.

Alternative Methoden

Falls Du Schwierigkeiten mit der oben beschriebenen Methode hast, gibt es alternative Ansätze:

  • Direkte Zuweisung: Du kannst die Werte direkt aus einer Tabelle zuweisen, ohne eine Schleife zu verwenden, indem Du die gesamte Liste auf einmal übergibst.
  • Datenquelle: Wenn Du eine große Datenmenge hast, erwäge die Verwendung eines Datenbereichs als Quelle für die Combobox.

Praktische Beispiele

Hier sind einige Beispiele, wie Du die Combobox in verschiedenen Szenarien verwenden kannst:

  1. Daten aus einer Tabelle:

    Userform1.ComboBox1.List = Application.Transpose(Range("A1:A10").Value)
  2. Dynamische Daten: Bei Änderungen in einer bestimmten Zelle kannst Du die Combobox automatisch aktualisieren:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("A1")) Is Nothing Then
           Userform1.ComboBox1.List = Application.Transpose(Range("A1:A10").Value)
       End If
    End Sub

Tipps für Profis

  • Verwende Error Handling: Integriere Fehlerbehandlung in Deinen Code, um Probleme bei der Zuweisung der Werte abzufangen.
  • Benutzerfreundlichkeit: Füge Platzhaltertexte in die Combobox ein, um den Benutzern zu helfen, den ersten Wert leichter zu wählen.
  • Datenvalidierung: Achte darauf, dass die Daten, die in die Combobox geladen werden, korrekt und relevant sind.

FAQ: Häufige Fragen

1. Warum wird der erste Wert in der Combobox nicht übernommen? Das kann passieren, wenn der Listindex der Combobox auf -1 steht. Achte darauf, dass Du die Items korrekt hinzufügst und dass die Change-Ereignisse ordnungsgemäß implementiert sind.

2. Wie kann ich die Combobox automatisch aktualisieren? Nutze das Worksheet_Change-Ereignis, um die Combobox automatisch zu aktualisieren, wenn sich die Daten in der entsprechenden Tabelle ändern.

3. Kann ich mehrere Werte gleichzeitig in die Combobox einfügen? Ja, Du kannst eine gesamte Liste auf einmal über die .List-Eigenschaft der Combobox zuweisen, indem Du einen Datenbereich referenzierst.

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