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
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