Anzeige
Archiv - Navigation
1776to1780
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

Problem mit Listbox.Selected() und gefil

Problem mit Listbox.Selected() und gefil
14.08.2020 11:20:05
Frank
Hallo zusammen,
Auf einer UF habe ich eine Listbox, welche mit Seriennummern anzeigt. Diese kommen von _
verschiedenen Blättern. Der Code hierfür ist:

Sub SN_Anzeige()
Dim last As Long
Dim i As Integer
Dim FtWert As String
Me.lstSeriennummern.Clear
FtWert = 0 ' Platzhalter für Filter über Combobox
Application.ScreenUpdating = False
If ExistiertBlatt(lastItem) = False Then
ewb.Worksheets("hwvlg").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = lastItem
Else
'Seriennummern darstellen
Me.txtSeriennummer.Value = ""
Me.txtReferenz.Value = ""
last = ewb.Worksheets(lastItem).Cells(Rows.Count, 1).End(xlUp).Row
If Me.optVorhanden.Value = False Then
'Anzeige ungefiltert
ewb.Worksheets(lastItem).Rows("1:1").AutoFilter
For i = 2 To last
If ewb.Worksheets(lastItem).Cells(i, "A").EntireRow.Hidden = False Then
Me.lstSeriennummern.AddItem ewb.Worksheets(lastItem).Cells(i, 1).Value
End If
Next i
Else
ewb.Worksheets(lastItem).Rows("1:1").AutoFilter Field:=2, Criteria1:=FtWert
'Anzeige gefiltert
For i = 2 To last
If ewb.Worksheets(lastItem).Cells(i, "A").EntireRow.Hidden = False Then
Me.lstSeriennummern.AddItem ewb.Worksheets(lastItem).Cells(i, 1).Value
End If
Next i
End If
End If
'ewb.Worksheets(lastItem).Rows("1:1").AutoFilter
ewb.Worksheets("Center").Activate
Application.ScreenUpdating = True
End Sub

Das funktioniert wunderbar, Anzeige ändert sich ob un- oder gefiltert.
Jetzt kommt mein Problem.
In der ungefilterten Liste bekomme ich über .Seleted() die korrekte Zeile im Tabellenblatt zurück geliefert. Bei der gefilterten Liste ist alles bunt durcheinander.
Hier der Code für die AUdwahl in der Listbox:

Sub SN_Select()
Dim i As Integer
Me.txtBemerkung.Value = ""
Me.txtRegal.Value = ""
Me.txtDatum.Value = ""
Me.txtReferenz.Value = ""
Me.txtSeriennummer.Value = ""
'Bei Auswahl einer Seriennummer...
For i = 0 To Me.lstSeriennummern.ListCount - 1 '(-1 wegen Row.Source)
If Me.lstSeriennummern.Selected(i) = True Then
MsgBox i + 2
MsgBox "cbIndex " & CInt(ewb.Worksheets(lastItem).Cells(i + 2, "B").Value)
Me.cbLager.ListIndex = CInt(ewb.Worksheets(lastItem).Cells(i + 2, "B").Value)
Me.txtBemerkung.Value = ewb.Worksheets(lastItem).Cells(i + 2, "F").Value
Me.txtRegal.Value = ewb.Worksheets(lastItem).Cells(i + 2, "C").Value
Me.txtDatum.Value = CDate(ewb.Worksheets(lastItem).Cells(i + 2, "D").Value)
Me.txtReferenz.Value = ewb.Worksheets(lastItem).Cells(i + 2, "E").Value
Me.txtSeriennummer.Value = ewb.Worksheets(lastItem).Cells(i + 2, "A").Value
lastSN = i
End If
Next
End Sub

Wie komme ich bei einer Auswahl in der Listbox, die richtige Reihe der Tabelle heraus?
Viele Grüße, Frank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Listbox.Selected() und gefil
14.08.2020 11:55:16
Rudi
Hallo,
schreib die Zeile in eine 2te Spalte der LBx.
Gruß
Rudi
AW: Problem mit Listbox.Selected() und gefil
14.08.2020 11:59:06
hary
Moin
Mach eine zweite Spalte in die LstBox und trag da die Zeilenummer ein.
If ewb.Worksheets(lastItem).Cells(i, "A").EntireRow.Hidden = False Then
Me.lstSeriennummern.AddItem ewb.Worksheets(lastItem).Cells(i, 1).Value
Me.lstSeriennummern.List(.ListCount - 1, 1) = ewb.Worksheets(lastItem).Cells(i, 1).Row '-- _
hier die Zeilennummer vom Wert
End If

gruss hary
AW: Problem mit Listbox.Selected() und gefil
14.08.2020 12:00:59
Frank
Super Leute, das ist wohl die einfachste Lösung.
Vielen Dank
AW: Problem mit Listbox.Selected() und gefil
16.08.2020 09:06:23
Frank
Hallo zusammen,
mit eurer Hilfe habe ich das erste Problem gelöst. Dafür noch einmal herzlichen Dank.
Allerdings tritt jetzt ein seltsames Phänomen auf.
Wenn ich einen gefilterten Eintrag anklicke, wechselt die Filterung von alleine auf einen anderen Wert und darauf werden mir plötzlich ganz andere Einträge in der Listbox angezeigt.
Es läßt sich sehr schwer beschreiben, daher mal eine Mappe zur Demo. Diese Mappe ist bisher nur ein Grundgerüst für eine Lagerverwaltung.
https://www.herber.de/bbs/user/139650.xlsm
Vielleicht hat ja jemand Zeit und Lust, über den Code zu schauen?
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige