Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

gefilterten Wertebereich auf Listbox v. Userform

gefilterten Wertebereich auf Listbox v. Userform
23.01.2007 20:44:12
Till
Hallo Leute,
ich lese in einer Listbox einen bereits gefilterten Wertebereich eines Arbeitsblattes ein.
Leider erscheinen hier auch die durch den Filter ausgeblendeten Werte.
Kann man nur die gefilterten Daten anzeigen lassen.
Mein Einlesen (nach der Filterung) geht so:


Sub Einlesen()
Dim Zeile2 As Integer, MyList(2836, 8), r As Integer, wksListe As Worksheet
Set wksListe = Worksheets("Wertetabelle")
Zeile2 = wksListe.Cells(wksListe.Rows.Count, "A").End(xlUp).Row 'letzte Zeile mit Daten
With UserForm1
With .ListBox1
.ColumnHeads = False
.ColumnCount = 8
.ColumnWidths = "70; 105; 70" '75
For r = 4 To Zeile2
If wksListe.Range("E" & r + 1) "" Then
.AddItem wksListe.Range("E" & r + 1) 'Datum
.List(.ListCount - 1, 1) = Format(wksListe.Range("F" & r + 1).Value, "hh:mm:ss") 'Zeit
.List(.ListCount - 1, 2) = wksListe.Range("F1") '("D" & r + 1) 'Straßenname
.List(.ListCount - 1, 3) = wksListe.Range("K" & r + 1) 'Qges
.List(.ListCount - 1, 4) = wksListe.Range("X" & r + 1) 'QLkw
.List(.ListCount - 1, 5) = Format(wksListe.Range("L" & r + 1).Value, "#,##0.00") 'Speed "#.##0"
.List(.ListCount - 1, 6) = Format(wksListe.Range("V" & r + 1).Value, "#,##0.00") 'B
.List(.ListCount - 1, 7) = wksListe.Range("T" & r + 1) 'LOS
End If
Next r
End With
End With
End Sub


Kann mir da jemand weiterhelfen?
Danke schon mal!
Gruß Till

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gefilterten Wertebereich auf Listbox v. Userform
23.01.2007 21:01:56
Peter
Hallo Till,
versuch es einmal so:
For r = 4 To Zeile2
If Rows(r + 1).Visible = True And _
wksListe.Range("E" & r + 1) "" Then
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: gefilterten Wertebereich auf Listbox v. Userfo
23.01.2007 21:21:57
Till
Hallo Peter,
Fehler 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht." kommt dann.
Hab jetzt folgendes da stehen:


Sub Einlesen()
Dim Zeile2 As Integer, MyList(2836, 8), r As Integer, wksListe As Worksheet
    Set wksListe = Worksheets("Wertetabelle")
    Zeile2 = wksListe.Cells(wksListe.Rows.Count, "A").End(xlUp).Row 'letzte Zeile mit Daten
    With UserForm1
    With .ListBox1
         .ColumnHeads = False
        .ColumnCount = 8
        .ColumnWidths = "70; 105; 70" '75
       For r = 4 To Zeile2
       If Rows(r + 1).Visible = True And _
       wksListe.Range("E" & r + 1) <> "" Then
            .AddItem wksListe.Range("E" & r + 1)                                             'Datum
            .List(.ListCount - 1, 1) = Format(wksListe.Range("F" & r + 1).Value, "hh:mm:ss"'Zeit
            .List(.ListCount - 1, 2) = wksListe.Range("F1"'("D" & r + 1)                   'Straßenname
            .List(.ListCount - 1, 3) = wksListe.Range("K" & r + 1)                           'Qges
            .List(.ListCount - 1, 4) = wksListe.Range("X" & r + 1)                           'QLkw
            .List(.ListCount - 1, 5) = Format(wksListe.Range("L" & r + 1).Value, "#,##0.00"'Speed "#.##0"
            .List(.ListCount - 1, 6) = Format(wksListe.Range("V" & r + 1).Value, "#,##0.00"'B
            .List(.ListCount - 1, 7) = wksListe.Range("T" & r + 1)                           'LOS
         End If
        Next r
   End With
    End With
End Sub


Geht aber leider immer noch nicht!
Gruß Till
Anzeige
AW: gefilterten Wertebereich auf Listbox v. Userfo
23.01.2007 22:57:34
Till
Hallo Peter,
Fehler 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht." kommt dann.
Hab jetzt folgendes da stehen:


Sub Einlesen()
Dim Zeile2 As Integer, MyList(2836, 8), r As Integer, wksListe As Worksheet
    Set wksListe = Worksheets("Wertetabelle")
    Zeile2 = wksListe.Cells(wksListe.Rows.Count, "A").End(xlUp).Row 'letzte Zeile mit Daten
    With UserForm1
    With .ListBox1
         .ColumnHeads = False
        .ColumnCount = 8
        .ColumnWidths = "70; 105; 70" '75
       For r = 4 To Zeile2
       If Rows(r + 1).Visible = True And _
       wksListe.Range("E" & r + 1) <> "" Then
            .AddItem wksListe.Range("E" & r + 1)                                             'Datum
            .List(.ListCount - 1, 1) = Format(wksListe.Range("F" & r + 1).Value, "hh:mm:ss"'Zeit
            .List(.ListCount - 1, 2) = wksListe.Range("F1"'("D" & r + 1)                   'Straßenname
            .List(.ListCount - 1, 3) = wksListe.Range("K" & r + 1)                           'Qges
            .List(.ListCount - 1, 4) = wksListe.Range("X" & r + 1)                           'QLkw
            .List(.ListCount - 1, 5) = Format(wksListe.Range("L" & r + 1).Value, "#,##0.00"'Speed "#.##0"
            .List(.ListCount - 1, 6) = Format(wksListe.Range("V" & r + 1).Value, "#,##0.00"'B
            .List(.ListCount - 1, 7) = wksListe.Range("T" & r + 1)                           'LOS
         End If
        Next r
   End With
    End With
End Sub


Geht aber leider immer noch nicht!
Gruß Till
Anzeige
AW: gefilterten Wertebereich auf Listbox v. Userform
23.01.2007 21:24:56
Peter
Hallo Till,
es muss natürlich so heißen:


Sub Einlesen()
Dim Zeile2          As Integer
Dim MyList(2836, 8)
Dim r               As Integer
Dim wksListe        As Worksheet
   Set wksListe = Worksheets("Wertetabelle")
   Zeile2 = wksListe.Cells(wksListe.Rows.Count, "A").End(xlUp).Row 'letzte Zeile mit Daten
   With UserForm1
      With .ListBox1
         .ColumnHeads = False
         .ColumnCount = 8
         .ColumnWidths = "70; 105; 70" '75
         For r = 4 To Zeile2
            If Rows(r + 1).EntireRow.Hidden = False And _
               wksListe.Range("E" & r + 1).Value <> "" Then
               .AddItem wksListe.Range("E" & r + 1) 'Datum
               .List(.ListCount - 1, 1) = Format(wksListe.Range("F" & r + 1).Value, "hh:mm:ss") 'Zeit
               .List(.ListCount - 1, 2) = wksListe.Range("F1") '("D" & r + 1) 'Straßenname
               .List(.ListCount - 1, 3) = wksListe.Range("K" & r + 1) 'Qges
               .List(.ListCount - 1, 4) = wksListe.Range("X" & r + 1) 'QLkw
               .List(.ListCount - 1, 5) = Format(wksListe.Range("L" & r + 1).Value, "#,##0.00") 'Speed "#.##0"
               .List(.ListCount - 1, 6) = Format(wksListe.Range("V" & r + 1).Value, "#,##0.00") 'B
               .List(.ListCount - 1, 7) = wksListe.Range("T" & r + 1) 'LOS
            End If
         Next r
      End With
   End With
End Sub 


Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: gefilterten Wertebereich auf Listbox v. Userfo
23.01.2007 23:11:32
Till
Hallo Peter,
danke für das Update...
Jetzt kommt zwar nicht mehr der Fehler, aber die Anzeige auf der Listbox ist immer noch die ungefilterte...alle ausgeblendeten Zeilen werden immer noch angezeigt...
Weiß nicht weiter!
Hast Du noch eine andere Idee?
Wäre nett!
Danke!
Gruß Till
AW: gefilterten Wertebereich auf Listbox v. Userfo
24.01.2007 08:34:58
Luschi
Hallo Till,
das Problem dürfte hier liegen:
If Rows(r + 1).EntireRow.Hidden = False And _
wksListe.Range("E" & r + 1).Value <> "" Then
das "Rows(r + 1).EntireRow.Hidden" solltest Du so schreiben:
If wksListe.Rows(r + 1).EntireRow.Hidden = False ...
oder
If not wksListe.Rows(r + 1).EntireRow.Hidden ...
Ich bin mit sicher, daß Rows(r + 1) auf die falsche Tabelle zugreift.
Msgbox Rows(r+1).Parent.Name  zeigt den dazügehörigen Tabellennamen an.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: gefilterten Wertebereich auf Listbox v. Userfo
24.01.2007 09:52:22
Till
Hallo Luschi,
Dein Ansatz hat es gelöst!
Vielen Dank!
Gruß Till
Anfrage zu Filter per Makro aktivieren
27.01.2007 21:31:49
Klaus
Hallo liebe Excelfreaks,
habe folgendes Problem:
In einer Tabelle steht in der 1.Spalte fortlaufend das Datum und in den weiteren Spalten weitere Daten. Ich möchte nun über einen Klick auf eine Schaltfläche alle Datensätze ab heutigen Datum plus 14 Tage als Filter anzeigen. Der Versuch über Makroaufzeichen funktioniert nicht. Bei der Aufzeichnung habe ich das 1. Kriterium >= heutiges Datum und das 2.Kriterium auf Tschüss Klaus

15 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige