Suchfeld für Namen erstellen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Suchfeld für Namen erstellen

Beitrag von hersat »

Habe folgendes Problem.
In Spalte C stehen bei mir ca.2000 Familiennamen C4:C2004
Ich möchte ein festes Suchfeld in der ersten Zeile einrichten das bei Eingabe der ersten Buchstaben wie z.B Ma auf den Namen Maier springt.
Es sollte nicht wie unter "Suchen und Ersetzen" alle Spalten (wenn auch abwählbar für diesen einen Suchvorgang) noch von oben nach unter oder umgedreht, sondern automatisch in jede Richtung suchen.
Geht das?
Danke
Jörg
*****
Beiträge: 401
Registriert: Mo, 21.10.2013 12:05

Re: Suchfeld für Namen erstellen

Beitrag von Jörg »

Hallo,
vielleicht hilft Dir das.
Tabelle Eingabemaske Abr_Rechnung
Suchfeld ist K8. In I5 stehen die Suchergebnisse.
Die Formeln dazu stehen in der Hilfstabelle.
Gruß Jörg


download/file.php?id=10353
Gruß Jörg

Win 10 Pro AOO 4.1.15
hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Re: Suchfeld für Namen erstellen

Beitrag von hersat »

Danke für Deine Tabelle.
Brauche jedoch ein Suchfeld das auf den Namen springt wenn ich die Anfangsbuchstaben schreibe.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Suchfeld für Namen erstellen

Beitrag von Stephan »

Geht das?
Naja, ein Feld zu erzeugen das bei aufeinanderfolgender Eingabe von einzelnen Buchstaben zum jeweils 'naheliegensten' Namen springt ist simpel, nur ist das alleine ja kein Suchfeld.

-Ansicht-Symbolleisten-Formularsteuerelemente
-in der Leiste nun das Kombinationsfeld anklicken und auf dem Tabellenblatt 'aufziehen'
-Kontextmenü des Kombinationsfeldes-->"Kontrollfeld..."
-Register Daten unter "Quellzellenbereich" eintragen C4:C2004 und irgendeine andere Zelle als "Verknüpfte Zelle"
-Entwurfsmodus verlassen und Buchstaben ins Kombinationsfeld eintippen, hierbei erscheint automatisch der passende 'Vorschlagstext'


Gruß
Stephan
hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Re: Suchfeld für Namen erstellen

Beitrag von hersat »

Stephan hat geschrieben:in der Leiste nun das Kombinationsfeld anklicken und auf dem Tabellenblatt 'aufziehen
kann das Kombinationsfeld nicht aufrufen.
Das ICON ist in der Symbolleiste grau und nicht hinterlegt
Gibt es eine Möglichkeit?
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Suchfeld für Namen erstellen

Beitrag von Stephan »

den Entwurfsmodus einschalten, selbe Symbolleiste das Icon was aussieht wie die Kombination von Lineal, Dreieck und Bleistift.


Gruß
Stephan
hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Re: Suchfeld für Namen erstellen

Beitrag von hersat »

Habe es geschafft, der vorgeschlagene Namen steht in Ergebnisfeld.
Ist aber nicht das ich wollte.
Ich möchte das bei Eingabe der Anfangsbuchstaben die Tabelle zu dem vorgeschlagenen Namen rückt.
hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Re: Suchfeld für Namen erstellen

Beitrag von hersat »

Kann mir hier keiner weiterhelfen?
Gibts keine Möglichkeit wenn der Name in einem Feld steht das dann die Tabelle zu der Position des gesuchten Namen rückt?
Danke.
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Suchfeld für Namen erstellen

Beitrag von TrueColor »

Vielleicht nützt dir das (siehe Anhang) etwas.

Das ist ein Schnellfilter, der über einen bestimmten Bereich (in diesem Fall von A2 bis zum Ende des benutzen Bereiches) sucht und alle Zeilen ohne Übereinstimmung ausblendet. Dabei werden auch Teilstrings nicht nur am Anfang, sondern auch innerhalb eines Wortes, gefunden (z.B. "le" findet "Lehmann" und "Müller"). Die Liste muss nicht sortiert sein. Den Cursor musst dann zwar immer noch manuell hinsetzen, wo du magst, aber das ganze wird etwas übersichtlicher.
Dateianhänge
Demo_Schnellfilter.ods
(12.66 KiB) 252-mal heruntergeladen
System:
LibO 6 + LibO 7
hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Re: Suchfeld für Namen erstellen

Beitrag von hersat »

Danke für Deine Antwort, aber leider hilft mir das auch nicht weiter.
Gibts keine Möglichkeit wenn der Name in einem Feld steht das dann der Curser zu der Position des gesuchten Namen springt?
Danke.
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Suchfeld für Namen erstellen

Beitrag von TrueColor »

Siehe Anhang. Findet nur das erste Vorkommen und setzt den Cursor da hin. Auch unsortierte Listen oder Listen mit Duplikaten möglich.
Dateianhänge
Namen_suchen_20150619.ods
(14.55 KiB) 205-mal heruntergeladen
System:
LibO 6 + LibO 7
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Suchfeld für Namen erstellen

Beitrag von F3K Total »

Hi,
anbei eine Alternative, ohne Makro.
Funktion:
Die Matrixormel in B2

Code: Alles auswählen

{=MIN(WENN((LINKS(A3:A2999;LÄNGE(C2))=C2);ZEILE(A3:A2999);10000))}
sucht in den Zellen A3 bis A2999 nach dem Suchbegriff in C2 und gibt die Zeile des ersten Treffers zurück.
Die Formel

Code: Alles auswählen

=HYPERLINK("#Tabelle1.A"&B2;"Suchen")
in Zelle D2 erzeugt einen Hyperlink auf die Zelle in Spalte A, die in der Zeile des ersten Treffers steht.
Gruß R
Dateianhänge
Filter_Hyperlink.ods
(20.99 KiB) 157-mal heruntergeladen
hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Re: Suchfeld für Namen erstellen

Beitrag von hersat »

B
TrueColor hat geschrieben:Beitrag von TrueColor » Fr, 19.06.2015 11:31
Siehe Anhang. Findet nur das erste Vorkommen und setzt den Cursor da hin. Auch unsortierte Listen oder Listen mit Duplikaten möglich.
eitrag

Das kann funktionieren, komme allerdings nicht weiter kann das Macro nicht zuordnen, das Suchfeld ist nicht ab A3 sondern ab C3, kann kein Suchfeld erstellen usw. .
Bin einfach mit OpenOffice überfordert.

Vielleicht könnte sich einer von Euch daran versuchen, habe die kastrierte (Dartenschutz) Datei im Anhang.
Ab C3 stehen fast 2000 Namen auf diese sollten die Suche zugreifen.
Optimal wäre beim Eingeben des gesuchten Namen (egal ob groß oder kleiner Buchstabe) und zwar Buchstabe für Buchstabe zum nächsten wahrscheinlichsten Suchtreffer
In F1 - M1 könnte das Suchfeld für den Namen untergebracht werden
Namensliste_kastriert.ods
(14.12 KiB) 95-mal heruntergeladen
Habe noch in D1 ein Datumsfeld mit =heute() das mit F2 - F9 - Enter zu aktualisieren ist, gibt es dort etwas besseres?

Wäre super wenn mir jemand helfen könnte.
danke.
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Suchfeld für Namen erstellen

Beitrag von TrueColor »

hersat hat geschrieben:komme allerdings nicht weiter kann das Macro nicht zuordnen, das Suchfeld ist nicht ab A3 sondern ab C3, kann kein Suchfeld erstellen usw. .
Bin einfach mit OpenOffice überfordert.

Das Macro einbinden:

Über Extras > Macros > Makros verwalten > OpenOffice Basic öffnest du die Macro-Auswahl. Im Baum suchst du deine Datei und klappst aus. Wenn noch kein Macro drin ist, hast du nur folgende Strucktur:

Datei [Dein Dateiname] > Ordner "Standard"

Dann hast du rechts einen Button "Neu". Damit legst du ein neues Modul (Standard: "Modul 1", umbenennen in "Allg") an. Du kannst auch Später mit Rechtsklick auf den Reiter im Basic-Editor umbenennen. Ebenfalls mit Rechtsklick legst du ein zweites Modul "Suche" an.

Jetzt öffnest du die Beispieldatei, gehst wieder in den Macro-Editor und wählst diese aus dem Pulldown oben links aus und kopierst jeweils den kompletten Inhalt der Module "Allg" und "Suche" in die jeweiligen Module deiner Datei. (Wie die Module heißen ist eigentlich egal, es kann auch alles in einem Modul stehen, das dient nur der Strukturierung).

Das Suchfeld erstellen:

Du aktivierst über die (Formular-)Steuerelemente den Formular-Entwurfsmodus (in der Symbolleiste das Werkzeug mit Zeichendreieck, Lineal, Bleistift). Erstellst ein Textfeld (Idealerweise in der Kopfzeile deiner Tabelle, damit das nicht mit wegscrollt, wenn du Zellen über Menü > Fenster > fixieren fixierst. Mit Rechtsklick den Eigenschaftendialog des Textfeldes aufrufen. Im Reiter Daten bei Verknüpfte Zelle eine Zelle eintragen, in die das Textfeld seine Daten schreibt. Die liegt meiner Meinung nach idealerweise auch in der Kopfzeile neben dem Textfeld (oder wird von diesem verdeckt, das sieht dann schöner aus, man kann aber nicht mehr kontrollieren, ob das übereinstimmt).

Das Macro anpassen:

Im Modul "Suche" findest du (in diesem Fall das einzige in diesem Modul) das Macro "Schnellfilter"

DAs fängt mit einem "Dim"-Block an, im darauffolgenden Block findest du die Zeile

Code: Alles auswählen

sSearchCellName = "O1"
O1 änderst du in die Zelle , welche du in den Eigenschaften des Textfeldes als verknüpte Zelle festgelegt hast.

In der Zeile obendrüber ist der Suchbereich festgelegt. Das sucht über die komplette Tabelle von A2 bis zur letzten benutzen Zelle rechts unten (die du auch mit Strg+Ende erreichst). Willst du ausschließlich die Spalte "Nachname" durchsuchen, musst du anpassen. Die Parameter sind die 2 Eckpunkte (Startspalte, Startzeile, Endspalte, Endzeile). Bei dir also

Code: Alles auswählen

oSearchRange = oSheet.getCellRangeByPosition(2,2,2,nLastUsedRow)
Also von C3 bis letzter Eintrag (Beachte: die Zählung beginnt bei Null!)

DAs Macro aktivieren:

Formular-Entwurfsmodus aktivieren, Rechtsklick auf das Textfeld, Kontrollfeld... > Reiter "Ereignisse" > Zeile "Text modifiziert" am Ende der Zeile auf den Knopf drücken > Dialogfeld "Aktion zuweisen", die Zeile "Text modifiziert" ist schon markiert > Zuweisen: Button "Macro" > aus dem Macro-Selector das Macro "Namen_suchen" raussuchen. Zum Schluss den Formular-Entwurfsmodus verlassen.

Ich habe das mal in deiner Datei gemacht, da hast du was zum vergleichen.

Habe noch in D1 ein Datumsfeld mit =heute() das mit F2 - F9 - Enter zu aktualisieren ist, gibt es dort etwas besseres?
nützt dir das etwas?
viewtopic.php?f=2&t=65898
Dateianhänge
Namensliste_kastriert_macro.ods
(16.03 KiB) 172-mal heruntergeladen
System:
LibO 6 + LibO 7
hersat
*
Beiträge: 14
Registriert: Mi, 17.06.2015 07:58

Re: Suchfeld für Namen erstellen

Beitrag von hersat »

TrueColor hat geschrieben:Ich habe das mal in deiner Datei gemacht, da hast du was zum vergleichen.
Super, funktioniert perfekt mit der Namensuche, danke.

wegen dem einzufüllenden Datum - gibt es eine Möglichkeit wenn z.B in Feld F3 bis M2000 Daten eingegeben oder verändert wurden das sich in Feld D1 automatisch das Datum aktualisiert?

Danke für die Hilfe.
Antworten