Seite 2 von 3
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Fr, 30.01.2009 20:29
von Charly
Hallo Clag!
Freut mich, das es jetzt klappt.
Clag hat geschrieben:
was muß ich im Macro ändern, damit die Filterkriterien nicht bei "Suche A1" sondern bei "Suche B1" beginnen, um noch eine Überschrift darüber platzieren zu können?
Du musst folgende Codezeile sowohl im Sub FilterSetzen als auch im Sub Filterausfuehren
ändern auf
Falls du auch den Ausgabebereich um eine Spalte verschieben willst. Der Code mit der Addressenzuweisung ist im SUB Filtersetzen
Die Null steht für Spalte A, Für Spalte B müsste eine 1 stehen: (1,Endzeile)
Gruß
Charly
Hallo Karolus!
Deine Ausführungen zu den regulären Ausdrücken waren auch für mich sehr interessant. Danke.
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Sa, 31.01.2009 09:39
von Charly
Hallo Clag!
Charly hat geschrieben:
ändern auf
Code:
For I = 1 to Endspalte+1
Bei der Variablen Endspalte brauchst du das "+1" nicht. Das Makro ermittelt die Endspalte ja selbst und durch das Verschieben der Spaltenbeschriftung hat die Variable ja bereits den richtigen Wert.
Ich habe auch übersehen, dass du die Spaltenzuweisung im Sub Filterausfuehren ändern musst.
statt
schreibe
Ich war gestern wohl nicht ganz bei der Sache.
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Sa, 31.01.2009 10:24
von clag
Hallo Charly,
werde ich gleich noch ändern,
habe aber noch einen Unterschied bemerkt in der jetzigen Macro Version werden im Ausgabebereich nur Daten ausgegeben,
davor wurden auch die Spaltenköpfe mit kopiert wie bei einer manuellen Spezialfilterung.
hier meine TestDB
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Sa, 31.01.2009 17:06
von Charly
Hallo Clag!
Clag hat geschrieben:
habe aber noch einen Unterschied bemerkt in der jetzigen Macro Version werden im Ausgabebereich nur Daten ausgegeben,
davor wurden auch die Spaltenköpfe mit kopiert wie bei einer manuellen Spezialfilterung.
Ich habe die Spaltenköpfe ausgeschalten. Grund war, das Makro hat die Kopfzeile nicht nur beim ersten Mal geschrieben, sondern auch bei jeder Oder-Auswahl. Da hätte ich entweder abfragen müssen, ob ich in der folgenden Abfrage der Filterkriterien bin oder eben ganz abschalten.
Der Code dafür ist:
Mit false ist er ausgeschalten mit true eingeschalten.
Ich dachte diese Zeile kann man sich ja bereits beim Einrichten kopieren. Damit sie aber nicht vom Makro gelöscht wird, muss sie entweder eine Zeile höher stehen oder die Löschroutine geändert werden. Der Code hierfür ist:
Code: Alles auswählen
Loeschbereich = ZielBlatt.getCellRangeByPosition(0,9,Endspalte,Endzeile)
Die Neun steht dabei für die zehnte Zeile. Schreibe hier eine zehn, dann werden die Daten erst ab der 11. Zeile gelöscht.
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Sa, 31.01.2009 20:02
von clag
Hallo Charly,
da gugst du mal in deine PM

Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: So, 01.02.2009 10:39
von Charly
Hallo Claq!
clag hat geschrieben:
da gugst du mal in deine PM
Ich habe in meine PN geschaut und unten ist das Ergebnis.
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: So, 01.02.2009 13:55
von clag
Hallo Charly,
Danke !
und guck du nochmal PM
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 09:45
von Charly
Hallo Clag!
Hier kommt noch eine fehlerbereinigte Version.
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 11:09
von Charly
Hallo Clag!
Jetzt habe ich doch tatsächlich die falsche Datei angehängt. Anbei die richtige.
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 11:44
von clag
Hi Charly,
klemmt hier noch etwas, guckst du mal auf den screenshot
kA was sein könnte / habe lediglich das Macro gestartet ohne eine Änderung an der Tabelle
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 12:49
von Charly
Hallo Clag!
Ich kann diese Meldung leider nicht reproduktzieren. Bei mir läuft es. Diese Stelle ist eigentlich unproblematisch.
Kommentiere mal die drei folgenden Zeilen mit einem Apostroph aus und schau, was dann passiert.
Code: Alles auswählen
'Zelle A10 sichtbar auswählen, um aus eventuellen Schreibmodus herauszukommen
Controller = Dok.getCurrentController
Zelle = Blatt.GetCellRangeByName("A10")
Controller.select(Zelle)
Für das eigentliche Programm sind sie unwichtig. Ich wollte damit nur erreichen, dass, wenn eine Zelle bei den Filterwerten noch im Schreibmodus ist, dass dieser abgeschalten wird. Das ist mir beim Testen dauernd passiert.
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 14:25
von clag
Hallo Charly,
ok das auskommentieren der 3 Zeilen hat den Hänger beseitigt
ein Problemchen ist da aber noch,
wenn ich in einer Spalte mit Zahlen suche funktioniert zwar "<x kleiner x" aber ">x größer x" bringt zZ kein Ergebnis !?
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 15:18
von Charly
Hallo Clag!
Heute ist wohl nicht mein Tag. Da habe ich aus versehen beim rumprobieren eine wichtige Zeile gelöscht. Sorry.
Bitte schreibe nach
Code: Alles auswählen
Case ">"
Filterfeld.operator = com.sun.star.sheet.FilterOperator.GREATER
Wert = Right(Wert,Len(Wert)-1)
noch die Zeile
Gruß
Charly
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 16:01
von clag
Hallo Charly,
tätääh ok, jetzt tut was es soll
jetzt ist mir noch eine kleinigkeit aufgefallen wo ich aber nicht weiß ob es für dich so einfach lösbar ist.
in Excel VBA hätte das in etwa "visible off" am Anfang und "visible on" am Ende eines Macro geheißen,
das bewirkt während der Laufzeit werden visuelle Ausgaben unterbunden und nur am Ende wird das Ergebniss angezeigt.
Das verhinderte flackern auf dem Schirm und beschleunigt die Ausführung erheblich.
Hier im konkreten Fall wird bei einer erneuten oder verfeinerten Abfrage erst wieder alles "sichtbar" eingeblendet
und dann wird erneut gefiltert und angezeigt, könnte man dieses sichtbare einblenden noch unterdrücken ?
so ähnlich wie in VBA
(weil in meiner echten Tabelle mit bald über 20.000 Zeilen und weiter wachsend läuft es etwas zäh, für ca 15-20 Sek wird bearbeiten angezeigt)
das wäre noch die Krönung deines Macro schaffens,
ansonsten jetzt schon ein
SUPER FETTES DANKE
Re: Filtern, Macro aufgezeichnet, beim ausführen keine Aktion
Verfasst: Mo, 02.02.2009 18:32
von Charly
Hallo Clag!
Clag hat geschrieben:
tätääh ok, jetzt tut was es soll
Das freut mich zu hören.
Clag hat geschrieben:
Hier im konkreten Fall wird bei einer erneuten oder verfeinerten Abfrage erst wieder alles "sichtbar" eingeblendet
und dann wird erneut gefiltert und angezeigt, könnte man dieses sichtbare einblenden noch unterdrücken ?
so ähnlich wie in VBA
Ich habe zwar schon mal einen Beitrag gelesen, bei dem man den Bildschirm einfrieren kann, aber ich habe mich damit noch nicht befasst und kann mich auch nicht mehr erinnern.
Kommentiere mal die Zeile aus
und teste deine Abfragen ohne das Zurücksetzen. Ich glaube nämlich das Löschen des alten Filters ist nicht nötig.
Gruß
Charly