Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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

Suche vereinfachen

Suche vereinfachen
25.10.2013 11:41:15
D.
Hallo,
wir bauen in einer Excel eine Datenbasis auf, in der in den Zeilen Begriffe stehen (Spalte 1) und diese mit einem "x" in den Spalten mehreren Kategorien (jede Spalte ist gleich eine Kategorie, Beschriftung der Kategorie erfolgt in Zeile 1) zugeordnet werden. Es kommt vor, dass wir 500 bis 1000 Spalten haben sowie 5000 bis 10000 Zeilen.
Folgendes Beispiel das unser Problem beschreibt:
Wir sind in Zeile 2525 bei einem Begriff und suchen in Zeile 1 die Kategorie, zu der dieser Begriff mit einem X zugeordnet werden soll. Dabei kennen wir oft nicht die genaue Kategorie sondern nur einen Teil davon (wir suchen mit STRG+F oft nur nach einem Buchstabenfolge und nicht nach dem kompletten Kategorienamen, da viele Unterkategorien verwendet werden).
Ziel
Wir wollen Zeile 1 durchsuchen, der Begriff soll immer links sichtbar bleiben (wie z.B. mit Funktion Fenster fixieren) und trotz der Suche in Zeile 1 bleibt Excel in Zeile 2525 um die es im Moment gerade geht.
Aktuell
- mit Funktion „Fenster fixieren“ scrollt Excel in die Zeile 1 und wir müssen wieder manuell in Zeile 2525 scrollen
- mit Funktion Fenster teilen scrollt Excel entweder nach oben analog Fenster fixieren oder Excel springt in die Spalte und wir verlieren die Spalte 1 aus den Augen, in der der Begriff steht
Automatisierung ist schwierig, da wir bei der Suche eben oft noch nicht die finale Kategorie kennen, zu der der Begriff zugeordnet werden soll. Eine Formel nützt hier wohl auch nichts.
Beispieldatei https://www.herber.de/bbs/user/87802.xlsx
Beispieldatei beinhaltet 3 Tabellenblätter mit Fixierung sowie 2 Versionen von Fenster teilen.
Einfach mal Zeile 40 ansteuern und dann in Zeile 1 die Kategorie 40 suchen, dann wird das Problem in den Tabellenblättern deutlich, wenn das Tabellenblatt nach oben scrollt und man manuell wieder nach unten scrollen muss.
Jemand eine Idee, wie wir die Suche diesbezüglich optimieren können?
Thanks und Gruss
Daniel

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

Betreff
Datum
Anwender
Anzeige
AW: Suche vereinfachen
25.10.2013 12:29:00
Rudi
Hallo,
Userform mit 1 Textbox und 1 Listbox einfügen
Code für die UF:
Private Sub ListBox1_Click()
Application.Goto Cells(ActiveCell.Row, ListBox1.Column(1)), True
Hide
End Sub
Private Sub TextBox1_Change()
Dim objListe As Object, arr, i As Integer, arrListe()
Set objListe = CreateObject("Scripting.dictionary")
With ActiveSheet
arr = .Range(.Cells(1, 2), .Cells(1, Columns.Count).End(xlToLeft))
End With
For i = 1 To UBound(arr, 2)
If LCase(arr(1, i)) Like LCase(TextBox1 & "*") Then
objListe(objListe.Count + 1) = Array(arr(1, i), i + 1)
End If
Next
ListBox1.Clear
If objListe.Count Then
ReDim arrListe(1 To objListe.Count, 1 To 2)
arr = objListe.items
For i = 1 To objListe.Count
arrListe(i, 1) = arr(i - 1)(0)
arrListe(i, 2) = arr(i - 1)(1)
Next
ListBox1.List = arrListe
End If
End Sub
In A1 einen Commandbutton einfügen
Code:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Einfach mal was in die Textbox tippen.
Klick auf einen Eintrag in der Listbox springt an die entsprechende Stelle.
Gruß
Rudi

Anzeige
AW: Suche vereinfachen
25.10.2013 13:49:03
D.
Hallo Rudi,
funktioniert, danke Dir für eine Unterstützung.
Jetzt kommen noch Luxusfragen auf :)
1. Kann ich den CommandButton bzw. die Funktion dahinter mit einem Shortcut versehen (damit nicht darauf geklickt werden muss)?
2. Wenn die Begriffe mal nicht in Spalte 1 (sondern z.B. Spalte 4) stehen, welche Zeile im Code muss geändert werden?
Danke nochmal
VG, Daniel

AW: Suche vereinfachen
25.10.2013 14:44:18
Rudi
Hallo,
1. schreib den Aufruf der UF in eine sub in einenm normalen Modul und weise ihm einen Shortcut zu.
(Makros-Makros anzeigen, Makro auswählen, Optionen)
2.Wenn die Begriffe mal nicht in Spalte 1 (sondern z.B. Spalte 4) stehen
Du meinst Zeile, nicht Spalte, oder?
Hier ändern: arr = .Range(.Cells(1, 2), .Cells(1, Columns.Count).End(xlToLeft))
Gruß
Rudi

Anzeige
AW: Suche vereinfachen
25.10.2013 15:07:55
D.
Hallo Rudi,
zu 1. OK.
zu 2. Ich meinte die Begriffe, die in Spalte 1 untereinander (in Zeilen) stehen. Nicht die Kategorien in Zeie 1 die zu durchsuchen sind.
Merci
Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige