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

Wiedermal ein VB Prob.

Wiedermal ein VB Prob.
22.05.2003 17:31:25
Bernd Schneider
Hallo Leutz :)
Und wieder habe ich ein Problem gefunden das ich
aus eigener Kraft nicht Lösen kann :(

Folgendes Script ist zuständig für meine Volltextsuche
(noch mal Danke an dieser Stelle an Nepumuk)
es such in der Datei "Daten.xls" nach Treffern und
Listet sie in der Listbox auf, wenn jetzt auf einen
dieser Trffe geklickt wird, wird die Trefferzeile (Adresse)
von A1 bis G1 Dargestellt, ich möchte aber gern den Treffer
untereinander Dargestellt haben (wie normal für Briefbögen)
vorzugsweise von C14 bis C20, wie müsste der Code geändert
(ergänzt) werden damit die Darstellung Korrekt ist ?


Private Sub ListBox1_Click()
Workbooks("Daten.xls").Sheets(1).Range("A" & CStr(ListBox1.List(ListBox1.ListIndex, 1)) & ":G" & CStr(ListBox1.List(ListBox1.ListIndex, 1))).Copy ActiveSheet.Range("A1:G1")
End Sub

Private Sub TextBox1_Change()
Dim Zelle As Range, Adresse As String
ListBox1.Clear
With Workbooks("Daten.xls").Sheets(1).Range("A2:G9999")
Set Zelle = .Find(What:=TextBox1.Value, LookAt:=xlPart)
If Not Zelle Is Nothing Then
Adresse = Zelle.Address
Do
ListBox1.AddItem Zelle.Value
ListBox1.List(ListBox1.ListCount - 1, 1) = Zelle.Row
Set Zelle = .FindNext(Zelle)
Loop While Not Zelle Is Nothing And Zelle.Address <> Adresse
End If
End With
If Adresse <> "" Then Call sortieren(0, ListBox1.ListCount - 1)
End Sub

Private Sub sortieren(Untergrenze As Long, Obergrenze As Long)
Dim index1 As Long, index2 As Long, Element1 As String, Element2 As Long, Zwischenspeicher As String
index1 = Untergrenze
index2 = Obergrenze
Zwischenspeicher = ListBox1.List(((Untergrenze + Obergrenze) / 2) \ 1, 0)
Do
Do While ListBox1.List(index1, 0) < Zwischenspeicher
index1 = index1 + 1
Loop
Do While Zwischenspeicher < ListBox1.List(index2, 0)
index2 = index2 - 1
Loop
If index1 <= index2 Then
Element1 = ListBox1.List(index1, 0)
Element2 = ListBox1.List(index1, 1)
ListBox1.List(index1, 0) = ListBox1.List(index2, 0)
ListBox1.List(index1, 1) = ListBox1.List(index2, 1)
ListBox1.List(index2, 0) = Element1
ListBox1.List(index2, 1) = Element2
index1 = index1 + 1
index2 = index2 - 1
End If
Loop Until index1 > index2
If Untergrenze < index2 Then Call sortieren(Untergrenze, index2)
If index1 < Obergrenze Then Call sortieren(index1, Obergrenze)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub


Ich hoffe Ihr könnt mir helfen
Vielen lieben Dank im vorraus,
Bernd Schneider der Ratlose ;)

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

Betreff
Datum
Anwender
Anzeige
Re: Wiedermal ein VB Prob.
22.05.2003 18:07:01
Nepumuk

Hallo Bernd,
versuch es mal so:

Gruß
Nepumuk

Yessss gelöst ! Danke :)
22.05.2003 18:24:11
B. Schneider

. . .

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige