Office: (Office 2010) Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick

Helfe beim Thema Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Ich hab eine Combobox erstellt, die sich bei "OnFocus" selbst befüllt. Wird eine Liste aller Arbeitsblätter erstellt und als Auswahl angezeigt. Dies... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Datasette, 8. Februar 2017.

  1. Datasette Neuer User

    Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick


    Ich hab eine Combobox erstellt, die sich bei "OnFocus" selbst befüllt.

    Wird eine Liste aller Arbeitsblätter erstellt und als Auswahl angezeigt. Dies funktioniert problemlos.

    Der letzte Eintrag wird zwischengespeichert, die Liste geleert, neu aufegbaut und der zuletzt gewählte Eintrag wieder hergestellt.
    Dabei werden bestimmte Arbeitsblätter ignoriert und nicht in die Liste aufgenommen.
    Der dafür verwendete Code:

    Code:
    Private Sub ComboBox21_GotFocus()
     Dim wsTabelle As Worksheet
     Dim lastvalue As String
    
    lastvalue = ComboBox21.Text
      ComboBox21.Clear
        For Each wsTabelle In Worksheets
            If wsTabelle.Name <> "Template" Then
            If wsTabelle.Name <> "Übersicht" Then
                ComboBox21.AddItem wsTabelle.Name
            End If
            End If
        Next wsTabelle
    If lastvalue <> "" Then
    ComboBox21.Text = lastvalue
    End If
    End Sub
    

    Das Problem:
    Bei jedem ersten Klick hat ist die Darstellung aber anders als erwartet, erst beim zweiten Klick ist sie so wie vorgesehen.

    Darstellung beim ersten Klick (falsch)
    Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick Screenshot 1.png

    Darstellung beim zweiten Klick (richtig)
    Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick Screenshot 2.png

    Wie man sieht ist eine Dropdown Liste aller Elemente das Ziel.
    Beim ersten Klick wird aber die gezeigte Darstellung gewählt. Es sind aber alle Listenelemente korrekt erzeugt worden, wenn man sie dann über die kleinen Pfeile durchgeht.

    Ich bekomme es nicht hin. Ich weiss nicht warum erst beim zweiten Klick die richtige Darstellung folgt.
    Hat jemand Rat?
     
    Datasette, 8. Februar 2017
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    benutze ein Array:

    Code:
    Private Sub ComboBox1_GotFocus()
        Dim wsTabelle As Worksheet
        Dim lastvalue As String
        Dim arrDaten
        ReDim arrDaten(0)
        Dim lngZaehler As Long
        If ComboBox1.ListIndex <> -1 Then lastvalue = ComboBox1.Value
        ComboBox1.Clear
        For Each wsTabelle In Worksheets
            ReDim Preserve arrDaten(0 To lngZaehler)
            arrDaten(lngZaehler) = wsTabelle.Name
            lngZaehler = lngZaehler + 1
        Next wsTabelle
        ComboBox1.List = arrDaten
        If lastvalue <> "" Then ComboBox1.Value = lastvalue
    End Sub
    
    
    Bis später,
    Karin
     
    Beverly, 8. Februar 2017
    #2
  3. Datasette Neuer User
    Clever. Danke.

    Ich habe nur die Filterfunktion wieder eingefügt, die bestimmte Tabellenblätter herausfiltert um deren Anzeige zu verhindern.
    Der Vollständigkeit halber daher die komplette Lösung zur Ablage:

    Code:
    Private Sub ComboBox21_GotFocus()
      Dim wsTabelle As Worksheet
        Dim lastvalue As String
        Dim arrDaten
        ReDim arrDaten(0)
        Dim lngZaehler As Long
        If ComboBox21.ListIndex <> -1 Then lastvalue = ComboBox21.Value
        ComboBox21.Clear
        For Each wsTabelle In Worksheets
            If wsTabelle.Name <> "Template" Then
            If wsTabelle.Name <> "Übersicht" Then
              ReDim Preserve arrDaten(0 To lngZaehler)
              arrDaten(lngZaehler) = wsTabelle.Name
              lngZaehler = lngZaehler + 1
            End If
            End If
        Next wsTabelle
        ComboBox21.List = arrDaten
        If lastvalue <> "" Then ComboBox21.Value = lastvalue
    End Sub
    
     
    Datasette, 13. Februar 2017
    #3
  4. Beverly
    Beverly Erfahrener User

    Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick

    Die Ausschlusskriterien kannst du in 1 Zeile abhandeln

    Code:
            If wsTabelle.Name <> "Template" And wsTabelle.Name <> "Übersicht" Then
              ReDim Preserve arrDaten(0 To lngZaehler)
              arrDaten(lngZaehler) = wsTabelle.Name
              lngZaehler = lngZaehler + 1
            End If
    
    
    Bis später,
    Karin
     
    Beverly, 13. Februar 2017
    #4
Thema:

Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick

Die Seite wird geladen...
  1. Automatisch befüllt Combobox hat falsche Darstellung beim ersten Klick - Similar Threads - Automatisch befüllt Combobox

  2. gezielt Daten aufzählen und zuordnen

    in Microsoft Excel Hilfe
    gezielt Daten aufzählen und zuordnen: Hallo, ich hab schon wieder ein Problemchen. Ich habe eine Tabelle (siehe Anhang) auf der unter "Eingabe" jeder Person bestimmte Tätigkeiten zugeordnet werden. Dabei werden nur die Tätigkeiten,...
  3. Links auf Dateien automatisch als Links formatieren

    in Microsoft Word Hilfe
    Links auf Dateien automatisch als Links formatieren: Hallo, wenn ich eine URL in ein Word-Dokument kopiere, erkennt Word das autmatisch und generiert einen anklickbaren Linke. Verlinke ich aber auf .msg-Dateien auf meiner Festplatte, funktioniert...
  4. Werte automatisch übernehmen

    in Microsoft Access Hilfe
    Werte automatisch übernehmen: Hallo, ich habe schon wieder ein Problem bei dem ich eure Hilfe brauchen könnte. Vereinfacht dargestellt möchte ich einen Wert aus einer Tabelle automatisch in eine andere Tabelle speichern. Ich...
  5. Automatisches Ausfüllen: Vier-Tage-Woche

    in Microsoft Excel Hilfe
    Automatisches Ausfüllen: Vier-Tage-Woche: Hallo zusammen! Ich würde gerne mal wissen, wie ich es hinbekomme, das ich eine Spalte Datumsbasiert auf der Vier-Tage-Woche automatisch ausfüllen lassen kann anhand der Benutzerdefinierten...
  6. Werte per VBA automatisch übertragen und fortlaufend speichern

    in Microsoft Excel Hilfe
    Werte per VBA automatisch übertragen und fortlaufend speichern: Moin, ich habe da mal eine bitte: wie kann ich diesen Code dazu bringen von einer bestimmten Datei automatische Werte in eine andere Datei kopiert? Ich kann zwar die Werte in derselben Tabelle...
  7. Druckbereich abhängig von befüllten Feldern automatisch fest

    in Microsoft Excel Hilfe
    Druckbereich abhängig von befüllten Feldern automatisch fest: Hallo, ich könnte mal wieder Hilfe gebrauchen, diesmal beim Drucken: Ich habe ein Tabellenblatt, das bis zu Zeile 199 und Spalte CD geht und mit einem Rahmen belegt ist. Die Felder werden...
  8. Textfenster schon automatisch befüllt

    in Microsoft Word Hilfe
    Textfenster schon automatisch befüllt: Ich arbeite hauptsächlich mit Worddateien, in denen Textfenster als Hinweisfenster eingefügt werden. Blocktexte, die ich wiederverwende, habe ich extra abgespeichert und bei Bedarf füge ich diese...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden