Thema Datum  Von Nutzer Rating
Antwort
Rot Einlesen von Daten wird in Combobox abgespeichert
21.07.2016 09:22:08 Rafa
NotSolved
22.07.2016 13:05:34 Rafa
NotSolved
22.07.2016 13:05:35 Rafa
Solved

Ansicht des Beitrags:
Von:
Rafa
Datum:
21.07.2016 09:22:08
Views:
981
Rating: Antwort:
  Ja
Thema:
Einlesen von Daten wird in Combobox abgespeichert

Hi Leute,

ich hoffe ihr könnt mir bei meinem kleinen Problemchen helfen.
Das Problem ist das Einlesen von Daten in eine Combobox.

Meine Datei besteht aus 3 Tabellenblättern.
Wenn ich meine Datei öffne und in Tabelle 2 auf den Button "Ausführen" klicke, erscheint zunächst eine Abfrage. Diese Abfrage kopiert erstmal Ausgangsdaten aus Tabelle 1 in eine "Hilfstabelle" Tabelle 3. Dann soll Tabelle 3 nach den abgefragten Daten gefiltert werden. Die Filterung erfolgt hier durch die Abfrage in einer Userform, die sich die Daten mit Hilfe eines Scripting Dictionary holt und in einer Combobox anzeigt.

Hier ist mein Problem. Wenn ich den Code über den Button auf Tabelle 2 ausführe, ist der Filter und somit auch die Auszählung falsch. Es werden nicht die richtigen Daten in der Combobox angezeigt, also nicht die Daten, die in die Tabelle 3 kopiert wurden.
Habe ich aber die Tabelle 3 geöffnet und führe den Code manuell aus, wird der richtige Filter gesetzt und die Auszählung ist korrekt.

Der Fehler liegt meiner Meinung nach in der Erstellung der ComboBox bzw. dem Code, aus dem die Daten gezogen werden, also in den Userformen. Es werden einfach die Daten aus der als erstes ausgeführten Abfrage genommen. Bei einer zweiten Ausführung werden diese wiederverwendet und nicht die gewählt, die man zuletzt ausgewählt hat.
Vielleicht muss ein Code zum resetten des Dictionary eingefügt werden? Kennt sich da jemand aus? Ich weiß sonst leider nicht mehr weiter...

Folgenden Code habe ich dort verwendet:

 

Sub UserForm_Initialize()

'Auslesen der Daten aus "Hilfstabelle"
    
    Dim objDic As Object
    Dim lngZ As Long
    Dim i As Integer
 
'Hier evtl ein Reset einsetzen ?
   
    Set objDic = CreateObject("Scripting.Dictionary")
    
    With Sheets("Hilfstabelle")
        
    For i = 12 To Sheets("Hilfstabelle").Cells(.Rows.Count, 3).End(xlUp).Row
    If Sheets("Hilfstabelle").Rows(i).Hidden = False Then
    ComboBox2.AddItem .Cells(i, 3)
    objDic(.Cells(i, 3).Value) = 0
    End If

    Next
    
    End With
           
    Me.ComboBox2.List = objDic.keys
    
    With Me.ComboBox2
    .AddItem "Alle Daten"
    End With
    
End Sub

Beste Grüße

Rafa


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Einlesen von Daten wird in Combobox abgespeichert
21.07.2016 09:22:08 Rafa
NotSolved
22.07.2016 13:05:34 Rafa
NotSolved
22.07.2016 13:05:35 Rafa
Solved