Autofilter und ComboBox

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox TextBox
Bild

Betrifft: Autofilter und ComboBox
von: VolkerM
Geschrieben am: 21.09.2003 10:09:56

Hallo
Ich möchte, nachdem der Autofilter gesetzt worden ist, nur die sichtbaren Datensätze in eine ComboBox einlesen und die Daten einer Zeile in TextBoxen
anzeigen lassen.
Mit dem Code


Private Sub UserForm_Initialize()
   Dim intCounter As Integer
   For intCounter = 2 To 105
   cboListe.AddItem Sheets("DatenC").Cells(intCounter, 202)
   Next intCounter
   cboListe.ListIndex = 0
End Sub


Private Sub cboListe_Change()
   txtAuswahl.text = Sheets("DatenC").Cells(cboListe.ListIndex + 2, 203)
   txtAuswahl1.text = Sheets("DatenC").Cells(cboListe.ListIndex + 2, 204)
   txtAuswahl2.text = Sheets("DatenC").Cells(cboListe.ListIndex + 2, 205)
   txtAuswahl3.text = Sheets("DatenC").Cells(cboListe.ListIndex + 2, 206)
End Sub

fülle ich zur Zeit die Combo- und Textboxen.
Habe mit
"Sheets("DatenC").Range("GT1").CurrentRegion.SpecialCells(xlCellTypeVisible)"
probiert, bekomme es aber nicht hin. Hat jemand eine Lösung?
Danke im Voraus.
Gruß Volker
Bild


Betrifft: AW: Autofilter und ComboBox
von: Ramses
Geschrieben am: 21.09.2003 10:44:42

Hallo


Option Explicit

Private Sub UserForm_Initialize()
Dim myRange As Range, c As Range
Dim intCounter As Integer
Set myRange = Worksheets("DatenC").Range("GT2:GT105")
For Each c In myRange.CurrentRegion.SpecialCells(xlCellTypeVisible)
    Me.cboListe.AddItem c.Value
    'Diese Spalte in der Listbox mit Breite "0" deklarieren
    'Dann kannst du mit der Row.Adressierung zum einlesen
    'der Textboxen arbeiten
    'Anders kannst du vom Listindex nicht auf die Zellen
    'referenzieren, da durch den Filter ein nicht eindeutiger
    'Rückschluss auf den Eintrag in der Tabelle möglich ist
    Me.cboListe.AddItem c.Row
Next
End Sub
'"Sheets("DatenC").Range("GT1").CurrentRegion.SpecialCells(xlCellTypeVisible)"


Private Sub cboListe_Change()
    'column(3) ist die versteckte Spalte
    'Achtung: Die Zählung in der Listbox beginnt bei 0
    txtAuswahl.Text = Sheets("DatenC").Cells(cboListe.Column(3), 203)
    txtAuswahl1.Text = Sheets("DatenC").Cells(cboListe.Column(3), 204)
    txtAuswahl2.Text = Sheets("DatenC").Cells(cboListe.Column(3), 205)
    txtAuswahl3.Text = Sheets("DatenC").Cells(cboListe.Column(3), 206)
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Gruss Rainer


Bild


Betrifft: AW: Autofilter und ComboBox
von: VolkerM
Geschrieben am: 21.09.2003 11:42:41

Hallo Rainer
Danke für deine schnelle Antwort.
Durch die Änderungen bekomme bei Auswahl eines Datensatzes Laufzeitfehler 13, Typen unverträglich, gemeldet.
Du schreibst von einer Listbox. Ich möchte jedoch eine ComboBox und mehreren TextBoxen.

Gruß Volker


Bild


Betrifft: AW: Autofilter und ComboBox
von: Ramses
Geschrieben am: 21.09.2003 12:13:56

Hallo

Welche Zeile ist denn im VB-Editor markiert ?

Gruss RAiner


Bild


Betrifft: AW: Autofilter und ComboBox
von: VolkerM
Geschrieben am: 21.09.2003 12:22:22

Hallo Rainer

Es wird die erste Zeile vom cboListe_Change() markiert:
txtAuswahl.text = Sheets("DatenC").Cells(cboListe.Column(3), 203)

Gruß Volker


Bild


Betrifft: AW: Autofilter und ComboBox
von: Ramses
Geschrieben am: 21.09.2003 12:28:13

Hallo

ich weiss nicht was du alles in die Combobox füllst.
Wenn du meinen Code verwendest wird nur die Spalte0 und die Spalte1 der Combox gefüllt.
Die Anweisung muss dann lauten

txtAuswahl.text = Sheets("DatenC").Cells(cboListe.Column(1), 203)

Das habe ich aber geschrieben :-) dass die Zählung der Spalten bei "0" beginnt

Gruss Rainer


Bild


Betrifft: AW: Autofilter und ComboBox
von: VolkerM
Geschrieben am: 21.09.2003 13:25:11

Hallo Rainer
Danke für deine Ausdauer und Mühe.
Habe es noch nicht hinbekommen; werde aber probieren und den Fehler suchen. Muß jetzt los.
Einen schönen Sonntag noch.
Gruß Volker


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Autofilter und ComboBox"