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

Listbox

Listbox
24.04.2008 13:49:46
Richard
Guten Tag allen, die diesen Eintrag lesen,...
ich benötige dringend Hilfe in Sachen Listbox. Ein Part in VBA, den ich immer weit nach hinten geschoben habe, aber jetzt nicht drumherum komme. Werde aus der Hilfe auch nicht wirklich schlau.
Ich möchte nämlich eine Listbox, die 4 Spalten besitzt mit einer For-Schleife befüllen.
Eine Combobox, habe ich mit ca. 1500 Einträgen befüllt.
Wenn ich nun einen dieser Einträge auswähle und die combobox verlasse, dann soll dieser Eintrag in einer anderen Tabelle gesucht werden.
In der Zelle "CY1" habe ich mit einfacher Formel sprich: Zählenwenn hinterlegt, wie oft es den Eintrag gibt.
So oft soll sich nun meine Schleife wiederholen.
.Range("B2:CW163").Select 'Suchbereich markieren
For i = 1 To .Range("CY1").Value
Selection.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False).Activate 'Eintrag der Combobox im Bereich suchen
---> an diesem Punkt, so denke ich müsste jetzt die Listbox eingebaut werden, aber wie?
Spalte 1 = Position wäre wahrscheinlich: i & "."
Spalte 2 = .Cells(ActiveCell, 1).Value
Spalte 3 = .Cells(ActiveCell, ActiveRow+1).Value
Spalte 4 = .Cells(ActiveCell, 102).Value
Next i
Würde mich sehr über eure Feedbacks freuen.
Vielen Dank!
Mit freundlichen Grüßen
Richard Esau

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox
24.04.2008 18:24:00
fcs
Hallo Richard,
prinzipiell kann man eine Listbox-Auswahlliste wie folgt füllen.
Ich hab aber reichlich Probleme an Hand deines Beispiels zu verstehen wo die Werte der Spalten 1 bis 3 relativ zur gefundenen Zelle ausgelesen werden sollen.
Gruß
Franz

Sub aaaTest()
Dim objwks As Worksheet, objBereich As Range, objZelle As Range
Dim strAdresse1 As String, lngZaehler As Long
Set wks = Worksheets("tab1")
With wks
Set objBereich = .Range("B2:CW163") 'Suchbereich festlegen
Set objZelle = objBereich.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False) 'Eintrag der Combobox im Bereich suchen
'---> an diesem Punkt, so denke ich müsste jetzt die Listbox eingebaut werden, aber wie?
Listbox1.ListIndex = -1 'Auswahl zurücksetzen
Listbox1.Clear 'vorhandene Auswahlliste löschen
If objZelle Is Nothing Then
MsgBox ComboBox1.Value & " wurde nicht gefunden"
Else
strAdresse1 = objZelle.Address 'Adresse der 1. FUndstelle merken
lngZaehler = 0
Do
lngZaehler = lngZaehler + 1
'Eintrag in Listbox hinzufügenSpalten der Listbox mit Daten füllen
With Listbox1
'Eintrag in Listbox hinzufügen
'Spalte 0 = Position wäre wahrscheinlich: i & "."
.AddItem Format(lngZaehler, "001") & "."
'Restliche Spalten des neuen Eintrags in der Listbox mit Daten füllen
'Spalte 1 = .Cells(ActiveCell, 1).Value
.List(.ListCount - 1, 1) = wks.Cells(objZelle.Value, 1).Value '?
'?Wert aus Spalte A der Zeile der gefundenen Zelle
'        .List(.ListCount - 1, 1) = .Cells(objZelle.Row, 1).Value
'Spalte 2 = .Cells(ActiveCell, ActiveRow + 1).Value
.List(.ListCount - 1, 2) = wks.Cells(objZelle.Value, objZelle.Row + 1).Value '?
'Wert aus Zelle eine Zeile unterhalb der Fundstelle?
'        .List(.ListCount - 1, 2) = objZelle.Offset(1, 0).Value
'Spalte 3 = .Cells(ActiveCell, 102).Value
.List(.ListCount - 1, 3) = wks.Cells(objZelle.Value, 102).Value '?
'? Wert aus Spalte CX der Zeile der gefundenen Zelle
'        .List(.ListCount - 1, 3) = .Cells(objZelle.Row, 102).Value
End With
'Nächste Fundstelle suchen
Set objZelle = objBereich.FindNext(After:=objZelle)
Loop Until objZelle.Address = strAdresse1
End If
End Sub


Anzeige
AW: Listbox
25.04.2008 09:48:19
Richard
Hallo Franz,
erstmal vielen Dank für deine Hilfe. Eigentlich fehlte mir nur folgende Anweisung ".List(.ListCount - 1, 1)".
Das man Einträge mit AddItem hinzufügen konnte wusste ich bereits, wusste halt nur nicht, wie man Werte in darauffolgenden Spalten hinzufügt.
Vielen Dank nochmal!
Mit freundlichen Grüßen
Richard Esau

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige