Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
596to600
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
596to600
596to600
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UserForm ListBox Zeilennummer ermitteln

UserForm ListBox Zeilennummer ermitteln
17.04.2005 10:35:20
VolkerM
Hallo
Habe folgendes Problem:
Ich möchte die tatsächliche Zeilennummer (in der Tabelle) der gefilterten Datensätze, welche in einer ListBox angezeigt werden, nach dem Filtern ermitteln, um mit ihr dann weiterarbeiten zu können.
Die Datensätze werden über eine TextBox und eine ListBox (UserForm) mit folgendem Code (stammt von Hans) gesucht bzw. angezeigt.

Private Sub Suchen()
Dim rngFind As Range, rngFirst As Range
Dim I As Integer
lstFind.Clear
I = TextBox1.Value
Set rngFind = Sheets("Daten").Columns(I).Find( _
What:=txtSuchen.Text, _
LookAt:=xlPart, _
LookIn:=xlValues)
If rngFind Is Nothing Then
Beep
MsgBox "Kein Suchbegriff gefunden!"
Exit Sub
End If
Set rngFirst = rngFind
Do
lstFind.AddItem rngFind
Set rngFind = Sheets("Daten").Columns(I).FindNext(rngFind)
Loop While Not rngFind Is Nothing And _
rngFind.Address <> rngFirst.Address
End Sub


Private Sub lstFind_Click()
TextBox3.Value = ????
End Sub

Gibt es eine Möglichkeit ?

Vielen Dank im Voraus.
Gruß Volker

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

Betreff
Datum
Anwender
Anzeige
AW: UserForm ListBox Zeilennummer ermitteln
17.04.2005 11:06:41
andre
Hallo Volker,
versuch's mal so. ColumnCount der Listbox vorher auf 2 setzen. Code ist ungetestet.

Private Sub Suchen()
Dim rngFind As Range, rngFirst As Range
Dim I As Integer
Dim arrValues() As Variant
lstFind.Clear
I = TextBox1.Value
Set rngFind = Sheets("Daten").Columns(I).Find( _
What:=txtSuchen.Text, _
LookAt:=xlPart, _
LookIn:=xlValues)
If rngFind Is Nothing Then
Beep
MsgBox "Kein Suchbegriff gefunden!"
Exit Sub
End If
Set rngFirst = rngFind
Do
ReDim Preserve arrValues(0 To 2, 0 To intRowU)
arrValues(0, intRowU) = rngFind
arrValues(1, intRowU) = rngFind.Row
intRowU = intRowU + 1
Set rngFind = Sheets("Daten").Columns(I).FindNext(rngFind)
Loop While Not rngFind Is Nothing And _
rngFind.Address <> rngFirst.Address
lstFind.List = arrValues
End Sub

Grüße, Andre
Anzeige
AW: UserForm ListBox Zeilennummer ermitteln
17.04.2005 11:53:54
VolkerM
Hallo Andre
Danke für deine schnelle Anwort.
Die richtige Zeilennummer wird ermittelt. Nur die Suchergebnisse schreibt er nun in den ersten Index der ListBox und die richtige Zeilennummer in den zweiten, jeweils nebeneinander. Somit werden lediglich 2 Treffer angezeigt.
Mit
......
ReDim Preserve arrValues(0 To 2, 0 To intRowU)
arrValues(0, intRowU) = rngFind
arrValues(1, intRowU) = rngFind.Row
intRowU = intRowU + 1
TextBox3.Value = rngFind.Row
Set rngFind = Sheets("Daten").Columns(I).FindNext(rngFind)
......
erhalte ich die gewünschte Zeilennummer.
Das hilft mir schon weiter.
Hast du noch eine Idee?
Gruß Volker
Anzeige
AW: UserForm ListBox Zeilennummer ermitteln
17.04.2005 11:58:53
andre
Hallo Volker,
2 Fehler:
1. müsste wohl
statt
ReDim Preserve arrValues(0 To 2, 0 To intRowU)
besser
ReDim Preserve arrValues(0 To 1, 0 To intRowU)
2. und statt
lstFind.List = arrValues
besser
lstFind.column = arrValues
hängt mit den Regeln für das ReDIm eines Array zusammen. Das geht eigentlich nur in einer der beiden Dimensionen, und da muss man den Eintrag in die Listbox rumdrehen.
Grüße, Andre
AW: UserForm ListBox Zeilennummer ermitteln
17.04.2005 12:19:42
VolkerM
Hallo Andre
Danke vielmals. Das war es.
Noch einen schönen Sonntag.
Gruß Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige