Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1036to1040
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
Inhaltsverzeichnis

Listbox

Listbox
31.12.2008 14:00:00
Björn
Hallo zusammen
ich lass per Makro einen Filter setzen und möchte einen Bereich dann zum schluss in eine
ListBox einlesen lassen. Er bringt mir aber bei nachfolgendem Code eine Fehlermeldung
Ich steh auf dem schlauch ..find den fehler nicht

Private Sub ListBox4_Click()
Dim intColumn As Integer
Range("F25").Value = ListBox4.Value
Range("f25").Select
f = ActiveCell.FormulaR1C1
Range("C28: F28").Select
Selection.AutoFilter Field:=4, Criteria1:=f, VisibleDropDown:=False
Range("g28").Select
With Sheets("Car1").Cells(28, 8).Select  """Fehlermeldung 424 Objekt nicht gefunden """"
For intCounter = 28 To .Cells(500, 8).End(xlUp).Row
If .Cells(intCounter, 8)  "" And Rows(intCounter).RowHeight > 0 Then
ListBox5.AddItem .Cells(intCounter, 8).Value
ListBox5.List(ListBox5.ListCount - 1, 1) = .Cells(intCounter, 9).Value
ListBox5.List(ListBox5.ListCount - 1, 2) = .Cells(intCounter, 10).Value
End If
Next intCounter
End With
End Sub


12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox
31.12.2008 14:06:54
Hajo_Zi
Hallo Björn,
bei With gehört kein .select dahin.

AW: Listbox
31.12.2008 14:11:40
Daniel
HI
lass doch mal die ganze selectiererei, macht nur ärger und ist völlig überflüssig.
z.b. kann man das hier:

Range("f25").Select
f = ActiveCell.FormulaR1C1
Range("C28: F28").Select
Selection.AutoFilter Field:=4, Criteria1:=f, VisibleDropDown:=False


so vereinfachen:


f = Range("f25").FormulaR1C1
Range("C28: F28").AutoFilter Field:=4, Criteria1:=f, VisibleDropDown:=False


der Fehler wird durch den fett markieren Code verursacht.
einfach weglassen, dann sollte es funktionieren:


With Sheets("Car1").Cells(28, 8).Select


Anzeige
AW: Listbox
31.12.2008 14:30:53
Hajo_Zi
Hallo Daniel,
sehe ich das Falsch
mit Range("F25").Value = ListBox4.Value wird Text in die Zelle geschrieben. Warum muss ich aus dieser Zelle die Formel auslesen, die nicht vorhanden ist?
Gruß Hajo
AW: Listbox
31.12.2008 14:33:00
Björn
Hallo Hajo
nicht die Formel sondern der Wert der da reingeschrieben ist.
Dieser kommt aus einer listbox davor.
gruß
björn
AW: Listbox
31.12.2008 14:31:00
Björn
thx ihr beiden
also Fehlermeldung ist weg dafür führt er aber den nachstehenden code nicht mehr aus.
Er springt zwar noch in die Zelle 28,8 ...aber von da aus prüft er nicht mehr ob die darunter stehenden zeilen ausgeblendet sind oder nicht. Wisst ihr zufällig eine Lösung?
With Sheets("Car1").Cells(28, 8)
For intCounter = 28 To .Cells(500, 8).End(xlUp).Row
If .Cells(intCounter, 8) <> "" And Rows(intCounter).RowHeight > 0 Then
ListBox5.AddItem .Cells(intCounter, 8).Value
ListBox5.List(ListBox5.ListCount - 1, 1) = .Cells(intCounter, 9).Value
ListBox5.List(ListBox5.ListCount - 1, 2) = .Cells(intCounter, 10).Value
End If
Next intCounter
Anzeige
AW: Listbox
31.12.2008 14:35:18
Tino
Hallo,
wäre eine Beispieldatei nicht angebracht?
Ich denke da sind noch mehr Fehler die wir nicht alle sehen.
Gruß Tino
AW: Listbox
31.12.2008 14:40:00
Björn
jo tino
kommt gleich...
Gruß
AW: Listbox
31.12.2008 15:15:20
Björn
So anbei die Beispieldatei
sry musste die Daten leider abändern wegen Datenschutz.
Danke für eure Hilfe und Geduld schonmal.
https://www.herber.de/bbs/user/57976.zip
AW: Listbox
31.12.2008 15:55:00
Tino
Hallo,
versuche es mal mit diesem Code.
Option Explicit

Private Sub ListBox4_Click()
          Dim intColumn As Integer
          Dim Bereich As Range
              Range("F25").Value = ListBox4.Value
              Range("C28: F28").AutoFilter Field:=4, Criteria1:=Range("F25"), VisibleDropDown:=False
              
              With Sheets("Car1")
                  
                For Each Bereich In .Range(.Range("H28"), .Cells(.Rows.Count, 8).End(xlUp)).SpecialCells(xlCellTypeVisible)
                   If Bereich.Row < 29 Then Exit For
                        If Bereich <> "" Then
                            ListBox5.AddItem Bereich.Value
                            ListBox5.List(ListBox5.ListCount - 1, 1) = Bereich.Offset(0, 1).Value
                            ListBox5.List(ListBox5.ListCount - 1, 2) = Bereich.Offset(0, 2).Value
                        End If
                
                Next Bereich
             
              End With
              
End Sub


PS: Du hättest die Listboxen in der Datei belassen sollen.
Gruß Tino

Anzeige
AW: Listbox
31.12.2008 17:15:55
Björn
Hallo tino,
code funzt...den befehl specialcells kannt ich noch gar nicht.
Wieder was schönes gelernt :)
Wünsch nen guten rutsch fals wir uns nicht mehr lesen und danke Dir für die hilfe.
Björn
AW: Listbox
31.12.2008 14:42:00
Daniel
Hi
du sollts nicht nur das "Select" in der Zeile mit WITH weglassen, sondern auch das ".Cells(28,8)"
nur das Sheet ist das Objekt, daß durch die Withklammer defniert ist (so ist zumindest der Rest des Codes geschrieben), deswegen muss das Cells() auch weg.
btw diese Zeile muss noch geändert werden, damit es klar ist:

If .Cells(intCounter, 8)  "" And Rows(intCounter).RowHeight > 0 Then
If .Cells(intCounter, 8)  "" And .Rows(intCounter).RowHeight > 0 Then


Gruß, Daniel

Anzeige
AW: Listbox
31.12.2008 15:16:46
Björn
Hallo Daniel
ich hab die Datei mal hochgeladen.
Danke Dir

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige