Seite 1 von 1

"Gruppierungen" über Markierfeld anzeigen/ausblenden lassen

Verfasst: So 26. Mai 2013, 16:11
von Gecko
Moin,

ich hab schon ein wenig gesucht, aber nichts Gescheites gefunden.

Ich möchte auf einer Tabelle Markierfelder machen, die dann bestimmte Zeilen/Gruppierungen auf einer anderen Tabelle anzeigen bzw ausblenden.

Heißt, wenn ich auf Tabelle 1 das Markierungsfeld A aktiviere, soll auf Tabelle 2 der Bereich (Zeile 3-19, 34 und 54-60) angezeigt werden, der Bereich, den ich den anderen Markierfeldern zuweisen will, soll dann ausgeblendet werden. Oder auch, es sollen nur die Bereiche angezeigt werden, dessen Markierfelder ich aktiviert habe (können ja auch mehrere Felder sein, die ich aktivieren will).

Ich habe bisher die Bereich gruppiert (F12) und blende dann die ganzen anderen Gruppierungen aus, die ich nicht benötige, jedoch ist das auf die Dauer ganz schön umständlich.

Gibt es die Möglichkeit soetwas vielleicht mit einem Makro hinzubekommen oder hat jemand dafür noch ne andere Möglichkeit im Sinn?

Danke für die Hilfe

Bis dann

Gecko

Re: "Gruppierungen" über Markierfeld anzeigen/ausblenden las

Verfasst: So 26. Mai 2013, 16:58
von F3K Total
Hallo Gecko,
vermutlich ist das nur über Makros genau so möglich.
Gecko hat geschrieben:...oder hat jemand dafür noch ne andere Möglichkeit im Sinn?
Es gibt da eine hübsche Möglichkeit mindestens seit LO 3.5:
Wenn du deine Bereiche z.B. in der ersten Spalte von Tabelle2 benennst, sagen wir mit B1, B2, B3 usw. kannst du hier einfach einen Spezialfilter nehmen und die entsprechenden Bereiche mit Checkboxen ein-oder ausblenden, siehe Bild:
Filter.png
Filter.png (10.41 KiB) 4015 mal betrachtet

Gruß R

Re: "Gruppierungen" über Markierfeld anzeigen/ausblenden las

Verfasst: So 26. Mai 2013, 21:09
von Gecko
Moin,

danke für die schnelle Antwort. Die Idee ist mir auch schon gekommen und das funktioniert auch, jedoch wollte ich im nächsten Schritt auch Spalten ausblenden bzw. einblenden lassen in der gleichen Abhängigkeit der Markierfelder.

Heißt:
Markierfeld 3 wird aktiviert -> Zeilen 35-51, 175 und 207-297 werden angezeigt
Markierfeld 7 wird aktiviert -> Zeilen 103-119, 179 und 571-661 und Spalten AP-AS

Vielleicht ist daher wirklich ein Makro das richtige, doch damit habe ich es immernoch nicht so sehr :-(

Trotzdem Danke für die Idee!

Re: "Gruppierungen" über Markierfeld anzeigen/ausblenden las

Verfasst: So 26. Mai 2013, 21:42
von F3K Total
Aha, also Spalten ...
schau mal hier.
Und ein Beispiel anbei.
Gruß R

Re: "Gruppierungen" über Markierfeld anzeigen/ausblenden lassen

Verfasst: Sa 26. Nov 2022, 09:48
von Tschubi
Hallo F3k Total,

genau diese Möglichkeit mittel Checkboxen diverse Zeile oder Spalten auszublenden, jedoch funktioniert das nicht so wie ich es angenommen hatte.

Es werden nicht die im jeweiligen arry angegebenen Zeilen bzw. Spalten ausgeblendet. Ich habe die Zeilen und Spalten welche ausgeblendet werden sollten mal unterschiedlich farblich gekennzeichnet um es einfacher nachvollziehbarer zu machen. und auf Tabelle1 anstatt Tabelle2 abgeändert.

Wäre super wenn du dir oder jemand anderes anschauen und prüfen kann. Vielleicht verstehe ich das auch nur nicht :-(

Code: Alles auswählen

Sub S_ein_ausblenden (event)
    dim n as integer
    arows1 = array(10,13,15,18) 'entsprechen Zeile 2,4,6,9
    arows2 = array(12,14,16,17) 'entsprechen Zeile 3,5,7,8
    aarows = array(arows1,arows2)
    acolumns1 = array(3,5,6,8) 'entsprechen Spalte A,B,D,F
    acolumns2 = array(4,7,9) 'entsprechen Spalte C,E,G,H
    aacolumns = array(acolumns1,acolumns2)
    oSheet = thisComponent.sheets.getbyname("Tabelle1")
    orows = oSheet.rows
    ocolumns = oSheet.Columns
    orows = oSheet.rows
    oChk = event.source.model
    sChkName = ochk.name
    n = Right(sChkName,1)
    if instr(sChkName,"row")>0 then 
        arows = aarows(n-1)
        if oChk.state then
            for i = 0 to ubound(arows)
                orows(arows(i)).isVisible = true
            next i
        else
            for i = 0 to ubound(arows)
                orows(arows(i)).isVisible = false
            next i
        end if
	else
        acolumns = aacolumns(n-1)
        if oChk.state  then
            for i = 0 to ubound(acolumns)
                ocolumns(acolumns(i)).isVisible = true
            next i
        else
            for i = 0 to ubound(acolumns)
                ocolumns(acolumns(i)).isVisible = false
            next i
        end if
	endif
End Sub
Danke und Gruß

Re: "Gruppierungen" über Markierfeld anzeigen/ausblenden lassen

Verfasst: Sa 26. Nov 2022, 10:29
von karolus
Hallo
Vergleiche mal die Einträge im Original im Array versus Kommentar, und denk drüber nach!
Danach tägst du dann zuerst die richtigen gewünschten Spalten-|Zeilennummern im Kommentar ein, und dann die zugehörigen Indeces ins array! hint: y = x-1

[Erledigt]Re: "Gruppierungen" über Markierfeld anzeigen/ausblenden lassen

Verfasst: Sa 26. Nov 2022, 11:20
von Tschubi
Hallo Gecko,

oha, das ist mir überhaupt nicht aufgefallen. Habe es nun entsprechend angepasst und es funktioniert.

Super vielen Dank für den Hinweis / Tipp!