Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1296to1300
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

Zeile durch Listbox auslesen

Zeile durch Listbox auslesen
31.01.2013 07:12:48
Thommy
Guten Morgen liebe Community,
ich habe folgende Herausforderung:
Im Tabellenblatt 1 ist eine Datenliste angelegt. In Spalte B kann der Status zwischen "open" und "closed" variieren.
Im Tabellenblatt 2 wird über eine Pivottabelle diese Liste gefiltert und nur die Einträge mit Status "open" ausgegeben.
Über eine Userform greift nun eine Listbox auf die Pivottabelle zu und gibt in 2 Spalten ("Name" und "Datum") die Werte aus.
Ich möchte jetzt die Zeile auslesen, in der die ursprünglichen Daten im Tabellenblatt 1 stehen, wenn ich einen Eintrag in der Listbox markiere. Wie funktioniert das?
Vielleicht geht es auch einfacher: in der Pivotliste wird außerdem die Transaktionsnummer mit übernommen (die ist immer die jeweilige Zeile in der Datenliste minus 1). Aber auch hier weiß ich nicht, wie ich das auslesen kann.
Mein Ziel ist es am Ende, in dieselbe Userform unten drunter noch TextBoxen zu machen, die dann mit den jeweiligen Werten der jeweiligen Zeile gefüllt werden - abhängig davon, welchen EIntrag man in der Listbox anwählt.
Vielen Dank und beste Grüße!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile durch Listbox auslesen
31.01.2013 10:35:15
Rudi
Hallo,
als Ansatz ohne Pivot.
In der UF:
Dim bolInit As Boolean
Private Sub ListBox1_Change()
If Not bolInit Then
MsgBox "Zeile: " & ListBox1.Column(0)
End If
End Sub
Private Sub UserForm_Initialize()
Dim myList
myList = arrList(2, "open")
If IsArray(myList) Then
bolInit = True
With ListBox1
.ColumnCount = UBound(myList)
.ColumnWidths = "0"
.Column = myList
End With
bolInit = False
End If
End Sub

In ein Modul:
Function arrList(lColumn As Long, sKrit As String)
Dim arr, i As Long, j As Long, oDict As Object, sTmp As String
Set oDict = CreateObject("Scripting.dictionary")
arr = Range("A1").CurrentRegion
For i = 2 To UBound(arr)
If arr(i, lColumn) = sKrit Then
sTmp = i  'Zeile merken
For j = 1 To UBound(arr, 2)
sTmp = sTmp & "|" & arr(i, j)
Next j
oDict(i) = Split(sTmp, "|")
End If
Next i
If oDict.Count Then
arrList = oDict.items
arrList = WorksheetFunction.Transpose(arrList)
End If
End Function

Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige