Von einander abhängige Listen - eleganter lösen?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

hylli
*******
Beiträge: 1672
Registriert: Mi, 22.02.2006 19:37

Von einander abhängige Listen - eleganter lösen?

Beitrag von hylli »

Hi,

ich habe mal eine voneinander abhängige Liste per Daten -> Gültigkeit erstellt. Als Beispiel mal Hunde und Raubkatzen in anhängendem Beispieldokument mit weiteren Erläuterungen.

Das klappt auch einigermaßen bis auf eine kleine Unschönheit:
Wechsle ich die Tierart von Hunde auf Raubkatzen (oder umgekehrt), dann bleibt in der Spalte Rasse/Art die vorherige der anderen Tierart stehen, z.B. wechsel auf "Hunde":

Tierart -> Rasse/Art:
Hunde -> Löwe

Klicke ich dann wieder auf das Dropdown bei Löwe, kann ich natürlich wieder die Hunderassen auswählen.

Gewünscht wäre, dass beim Wechsel der Tierart dann auch das Feld Rasse/Art entweder leer ist, oder evtl. die jeweils erste Rasse/Art in der Liste erscheint.

Wie bekomme ich das bei vorliegender Datei am schnellsten hin?

Hylli
Dateianhänge
Voneinander_abhaengige_Listen.ods
(18.75 KiB) 49-mal heruntergeladen
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!

Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Von einander abhängige Listen - eleganter lösen?

Beitrag von Karolus »

Hallo
Binde ans Tabellenereignis 'Inhalt geändert' folgendes:

Code: Alles auswählen

def refresh_validation(args):
    if args.AbsoluteName == '$Tabelle1.$A$15':
        target = args.Spreadsheet.getCellRangeByName("B15")
        target.String = "__******___" 
oder in Basic eben:

Code: Alles auswählen

sub refresh_validation(args)
    if args.AbsoluteName = "$Tabelle1.$A$15" then
        target = args.Spreadsheet.getCellRangeByName("B15")
        target.String = "__******___" 
    end if
end sub
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hylli
*******
Beiträge: 1672
Registriert: Mi, 22.02.2006 19:37

Re: Von einander abhängige Listen - eleganter lösen?

Beitrag von hylli »

Schade, und ich hatte gedacht, dass dies recht einfach umsetzbar wäre, eben ohne Makros.

@Karo:
Binde ans Tabellenereignis 'Inhalt geändert' folgendes:...
Wie funktioniert denn das?

Schonmal Danke an Euch beiden!

Hylli
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!

Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Von einander abhängige Listen - eleganter lösen?

Beitrag von Karolus »

hylli hat geschrieben:Schade, und ich hatte gedacht, dass dies recht einfach umsetzbar wäre, eben ohne Makros.
Das sind vier Zeilen Code - wo ist das Problem ?
hylli hat geschrieben:@Karo:
Binde ans Tabellenereignis 'Inhalt geändert' folgendes:...
Wie funktioniert denn das?
→Rechtsklick unten aufs Tabellenregister →Tabellenereignisse→Inhalt geändert ....

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
hylli
*******
Beiträge: 1672
Registriert: Mi, 22.02.2006 19:37

Re: Von einander abhängige Listen - eleganter lösen?

Beitrag von hylli »

Makros sind einfach nicht meine Welt. ;)

Ich versuche immer möglichst ohne Makros auszukommen.

Hylli
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!

Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Antworten