Suchfeld für Namen erstellen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Suchfeld für Namen erstellen

Re: Suchfeld für Namen erstellen

von hersat » Do, 09.07.2015 09:58

ChristianAC hat geschrieben:Deine Version ist zu alt. Ich benutze, hier zumindest, 3.0.0 (ich weiss warum) und habe auch keine Tabellenereginisse,
dann kann es ja gar nicht klappen. Bliebe die Lösung vom F3K Total
Habe die Version OpenOffice.org 3.2.1, da siehts im Kontextmenü so wie auf Foto aus.
Kann leider nicht updaten weil ich auf meinem Arbeits PC keine Adminrechte habe.
Was kann ich tun?
Könnte mir nicht doch bitte einer von Euch das Macro fertig machen?
Namensliste_kastriert_macro1.ods
(16.15 KiB) 67-mal heruntergeladen
Danke für Eure Hilfe.

Re: Suchfeld für Namen erstellen

von ChristianAC » Do, 09.07.2015 09:12

Vermutung:
Deine Version ist zu alt. Ich benutze, hier zumindest, 3.0.0 (ich weiss warum) und habe auch keine Tabellenereginisse,
dann kann es ja gar nicht klappen. Bliebe die Lösung vom F3K Total
Dateianhänge
keine Tabellenereignisse unter 3.0.0.png
keine Tabellenereignisse unter 3.0.0.png (6.38 KiB) 2480 mal betrachtet

Re: Suchfeld für Namen erstellen

von hersat » Mi, 08.07.2015 09:10

Stephan hat geschrieben:Danach verknüpfst Du das Makro "Sub datum" mit dem Ereignis "Inhalt geändert" der Tabelle "Liste" (im Kontextmenü des Tabellenregisters unter "Tabellenereignisse")
habs probiert und die Module datum_auto und datum_auto_suche erstellt.
Aber das andere bekomme ich nicht auf die Reihe.
Aber sieh selbst im Anhang.
Kannst Du das für mich machen?
Danke für Deine Hilfe.
Namensliste_kastriert_macro1.ods
(16.23 KiB) 67-mal heruntergeladen

Re: Suchfeld für Namen erstellen

von Stephan » Do, 02.07.2015 08:49

Alles Nötige ist doch bereits im Thread beschrieben:
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 [...]
... den Makrocode:

Code: Alles auswählen

Sub datum()
   ThisComponent.Sheets().GetByName("Liste").getCellrangeByName("D1").String = Date()
End Sub
in eines der Module (also in "Allg" oder "Suche")

Danach verknüpfst Du das Makro "Sub datum" mit dem Ereignis "Inhalt geändert" der Tabelle "Liste" (im Kontextmenü des Tabellenregisters unter "Tabellenereignisse")


Gruß
Stephan

Re: Suchfeld für Namen erstellen

von hersat » Do, 02.07.2015 07:40

kann mir hier keiner mehr helfen?
komme einfach nicht weiter.
Danke

Re: Suchfeld für Namen erstellen

von hersat » Mo, 29.06.2015 14:45

hersat hat geschrieben: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?
jetzt tüftle ich schon wieder mit dem Macro rum, aber bekomme es nicht gebacken.
kann das einer für mich machen, kann schon gar nicht mehr denken?
Datei im Anhang.
Vielen Dank.
Dateianhänge
Namensliste_kastriert_macro.ods
(16.03 KiB) 67-mal heruntergeladen

Re: Suchfeld für Namen erstellen

von TrueColor » Mo, 29.06.2015 14:22

hersat hat geschrieben:könntest Du bitte das Makro einfügen, bekomme das noch nicht auf die Reihe.
Wo genau hängt es denn?

In viewtopic.php?p=256733#p256733 habe ich doch eine kleine Anleitung geschrieben, das kannst du sinngemäß auch hier anwenden. Stephan hat dir die nötigen Infos gegeben, wie es verknüpft wird (eben nicht an ein Formularelement, sondern an ein Tabellenereignis).

Re: Suchfeld für Namen erstellen

von hersat » Mo, 29.06.2015 13:25

Stephan hat geschrieben:füge ein Makro ins Dokument ein:

Code: Alles auswählen
Sub datum()
ThisComponent.Sheets().GetByName("Liste").getCellrangeByName("D1").String = Date()
End Sub


und verknüpfe Dieses mit dem Ereignis "Inhalt geändert" der Tabelle "Liste" (im Kontextmenü des Tabellenregisters unter "Tabellenereignisse")
oje, da war es wieder das Problem.
könntest Du bitte das Makro einfügen, bekomme das noch nicht auf die Reihe.
Danke für die Hilfe

Re: Suchfeld für Namen erstellen

von Stephan » Mo, 29.06.2015 10:27

füge ein Makro ins Dokument ein:

Code: Alles auswählen

Sub datum()
	ThisComponent.Sheets().GetByName("Liste").getCellrangeByName("D1").String = Date()
End Sub
und verknüpfe Dieses mit dem Ereignis "Inhalt geändert" der Tabelle "Liste" (im Kontextmenü des Tabellenregisters unter "Tabellenereignisse")


Gruß
Stephan

Re: Suchfeld für Namen erstellen

von hersat » Mo, 29.06.2015 09:35

hersat hat geschrieben: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?
Kann mir hier keiner weiterhelfen?
Danke

Re: Suchfeld für Namen erstellen

von hersat » Do, 25.06.2015 16:41

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.

Re: Suchfeld für Namen erstellen

von TrueColor » Do, 25.06.2015 14:33

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

Re: Suchfeld für Namen erstellen

von hersat » Do, 25.06.2015 10:40

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.

Re: Suchfeld für Namen erstellen

von F3K Total » Fr, 19.06.2015 17:06

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) 158-mal heruntergeladen

Re: Suchfeld für Namen erstellen

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.
Dateianhänge
Namen_suchen_20150619.ods
(14.55 KiB) 205-mal heruntergeladen

Nach oben