Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Am 14.12.2011 15:48, schrieb Micha Kuehn:
Am 14.12.2011 10:26, schrieb Frieder:
Am 13.12.2011 23:07, schrieb Tom Hart:
Wieviele verschiedene Fälle gibt es denn, nur zwei?

Nein, von ca. 25 bis 100 ist alles drin.

PS:
Oder du verwuschtelst die ganzen Rechnungen etc. auf ein extra
Tabellenblatt und blendest dieses dann aus. Das Diagramm im sichtbaren
Tabellenblatt (in dem auch die Eingaben stattfinden) bezieht dann die
Daten aus dem ausgeblendeten. Du musst dann noch einen Weg finden den
Filter im ausgeblendeten Blatt vom sichtbaren zu steuern, geht das?

Ich fürchte, das geht nicht, habe es aber jetzt noch nicht ausprobiert.
Schöner wäre es, wenn Filter automatisch aktualisiert werden würden.

Ich habe das gestern rein interessehalber einmal ausprobiert, und
festgestellt, dass die Filter sich nicht automatisch aktualisieren.

eben. Das ist Teil des Problems...

Die einzige Möglichkeit, die mir dazu einfällt, ist ein Makro, dass
entweder eine Schleife über alle Zeilen macht, oder einen Filter steuert.

Leider habe ich erstens keine Ahnung von Makros und zweitens eine Aversion dagegen.
Das erstere ist kein Problem, denn ich hätte da ein schönes Makro, was dir helfen könnte.
Gegen das Zweite bin ich leider machtlos.
Da andere das Dokument auch nutzen können sollen, ist das auch keine Lösung. Ich aktiviere jedenfalls keine Makros in Dateien anderer Leute...
Das musst du auch gar nicht, da sie das selber machen müssen.


Ich glaube, dann würde ich lieber auf dieses eigentlich passende, schöne Diagramm verzichten als eine Makrolösung einzubauen.


Hier für die, die es interessiert das Makro:

Aufgerufen wird es durch eine Funktion:
=RANGEFILTER("Tabelle1";"A2:J45";5;N1)
Tabelle1="Name der Tabelle, auf der gefiltert werden soll"
A2:J45="Filter Bereich"
5=Spalte nach der gefiltert werden soll(beginnt immer mit 0)
N1= die Zelle, in der das Filterkriterium steht. wenn sich diese Zelle "ändert" wird das Makro erneut ausgeführt. Es können auch mehrere Filterkriterien Eingegeben werden: sie müssen dann in eckigen Klammern stehen,
und mit einem Komma getrennt werden.z.B. [0,1,2,3] .
Ein schöner Trick: Sreibe in N1 : =WENN(O1="";P1;P1) in O1 ändert sich der Wert z.b.
bei einer Berechnung, und in P1 steht ein unveränderliches Filterkriterium.
Nach jeder Neuberechnung wird dadurch der  Filter Aktualisiert.

Natürlich kann die Funktion auch von einem Makro aus aufgerufen werden

Jetzt aber der Code:
Option Explicit

Function rangeFilter (ByVal sSheet As String,ByVal sRange As String,ByVal nFilterCol As long,ByVal sFilterString As String)As String
Dim oDoc As Object
Dim oCellRange As Object
Dim oFilterDescriptor As Object
Dim Filterarray(0)
Dim Filterfeld
Filterfeld = createUnoStruct("com.sun.star.sheet.TableFilterField")
oDoc = ThisComponent
oCellRange = oDoc.Sheets.getByName(sSheet).getCellRangeByName(sRange)
oFilterDescriptor = oCellRange.createFilterDescriptor(True)
oFilterDescriptor.ContainsHeader = False
oFilterDescriptor.UseRegularExpressions = True
oFilterDescriptor.isCaseSensitive = false
oFilterDescriptor.CopyOutputData = false
'oFilterDescriptor.OutputPosition = oDoc.Sheets.getByName("Tabelle2").getCellRangeByName("A1")

Filterfeld.operator = com.sun.star.sheet.FilterOperator.EQUAL

Filterfeld.StringValue = sFilterString
Filterfeld.field = nFilterCol
FilterArray(0) = Filterfeld

oFilterDescriptor.setFilterFields(FilterArray)
oCellRange.filter(oFilterDescriptor)
rangeFilter="Filter Funktion"

end Function







--
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.