Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
312to316
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
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Listbox füllen mit Suchkriterium

Listbox füllen mit Suchkriterium
22.09.2003 16:54:43
AxelW
Hallo Zusammen,

Ich habe einen Tabellenbereich von "A1:F200", gefüllt mit Werten.
In der Spalte "A" werden die Zellen einfach mit einem "x" versehen, wenn die entsprechenden Zeilen verwendet werden sollen.
Nun möchte ich in meiner Userform ("Userform1") ein Listenfeld ("Listbox1") nur mit den Zeilen füllen, in denen das "x" in der Spalte steht.
Habe viele Wege probiert und keiner führt zum Erfolg.

Kann mir jemand helfen?

Danke, Axel

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox füllen mit Suchkriterium
22.09.2003 17:00:06
ChrisL
Hi Axel

Siehe nachstehendes Makro...

Option Explicit


Sub suchen()
Dim i As Integer
Dim lngArr As Integer
Dim SuchZelle As Long
Application.ScreenUpdating = False
SuchZelle = "x"
With Worksheets("Tabelle1")
lngArr = Application.WorksheetFunction.CountIf(.Range("A1:A200"), SuchZelle)
If lngArr = 0 Then
MsgBox "Keine Einträge gemäss den ausgewählten Kriterien"
Exit Sub
End If
ReDim MyArray(1 To lngArr, 0 To 3)
lngArr = 0
For i = 1 To 200
If .Cells(i, 1) = SuchZelle Then
lngArr = lngArr + 1
MyArray(lngArr, 0) = .Cells(i, 2)
MyArray(lngArr, 1) = .Cells(i, 3)
MyArray(lngArr, 2) = .Cells(i, 4)
MyArray(lngArr, 3) = .Cells(i, 5)
MyArray(lngArr, 4) = .Cells(i, 6)
End If
Next i
UserForm1.ListBox1.ColumnCount = 5
UserForm1.ListBox1.List = MyArray
End With
End Sub


Tabell1 musst du noch anpassen.

Gruss
Chris
Anzeige
AW: Listbox füllen mit Suchkriterium
22.09.2003 17:04:09
ChrisL
Suchzelle natürlich als String deklarieren.
AW: Listbox füllen mit Suchkriterium
22.09.2003 18:24:22
AxelW
Hallo Chris,

Danke Dir für die schnelle Antwort. Ich werd`s gleich mal versuchen.

Gruß, Axel
AW: Listbox füllen KEIN ERFOLG
22.09.2003 19:00:18
AxelW
Hallo Chris,

danke für Deine Idee, aber ich bekomme eine Fehlermeldung (Laufzeitfehler: 13 "Typen unverträglich").
Ich habe Deinen Code in das Initialize-Ereignis der Userform gelegt. Ist doch richtig, oder ???

Gruß, Axel
AW: Listbox füllen KEIN ERFOLG
22.09.2003 20:48:26
ChrisL
Hi Axel

Auf welcher Zeile kommt denn der Fehler? Jedenfalls habe ich grad einen Fehler entdeckt...

ReDim MyArray(1 To lngArr, 0 To 3)

sollte

ReDim MyArray(1 To lngArr, 0 To 4)

lauten. Sind ja 5 Spalten, angefangen bei Null. Habe drum den Code aus einem anderen Beispiel kopiert und leicht abgeändert, darum auch der anfängliche Fehler mit der Deklaration. Versuch den Code aber trotzdem mal nachzuvollziehen. Ist ein Beispiel mit Array, was ich eigentlich lange Zeit auch nie verstanden habe, aber eigentlich gar nicht so kompliziert ist. Du kannst in so ein Array, welches ähnlich wie eine Variable funktioniert, eine ganze Tabelle, also Zeilen und Spalten abspeichern und dann geschlossen eine ListBox übergeben.

Wenn die Änderung nicht zum Erfolg führt, muss ich's dann trotzdem mal testen. Vielleicht kannst du dann gleich mal dein Beispiel in den Anhang stellen, geht schneller.

Du kannst es als Initilize Ereignis zum Userform machen, in diesem Fall kannst du auf den Bezug zum Userform in den letzten zwei Zeilen verzichten. Ansonsten kannst du es auch in ein Modul stellen und im Initialize mit 'Call Makro' aufrufen. Kann manchmal dem Überblick wegen einfacher sein, wenn du grössere Codeteile in Module ablegst, die du auch strukturieren und beschriften kannst. Dies solltest du insbesondere dann tun, wenn du ein und den selben Code für mehrer Vorgänge innerhalb eines UF benutzt.

In jedem Fall solltest du darauf achten, das UF sauber mit Unload UF zu schliessen und nicht nur mit 'UF.Hide', da sonst das UF u.U. nicht frisch initialisiert wird und dadurch der alte Inhalt im UF dargestellt wird.

Gruss
Chris

bis dann
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige