Seite 1 von 1

Zellüberwachung, bei Änderung Wert in eine anderer Tabelle schreiben [gelöst]

Verfasst: Di 26. Dez 2023, 09:54
von Tschubi
Hallo,

Ich möchte die Zelle "B2" in "Tabelle 1" auf Veränderung überwachen und sobald sich der Wert ändert diesen in Zelle "B2" in "Tabelle 2" schreiben. Für Zelle "B2" in "Tabelle 2" ist eine Gültikeit / Liste festgelegt und daher kann ich nicht einfach "=$Tabelle1.B2" nutzen.

Folgenden Beitrag der meiner Problemlösung nahekommt habe ich gefunden. Jedoch möchte ich immer in "B2" in "Tabelle 2" schreiben und nicht in der gleichen "Tabelle 1".

http://de.openoffice.info/viewtopic.php ... 34#p257234
Zelle_ueberwachen.odshttp://de.openoffice.info/download/file.php?id=12836

Wie müsste ich das Makro anpassen für meinen Anwendungsfall?

Danke und Gruß

Re: Zellüberwachung, bei Änderung Wert in eine anderer Tabelle schreiben

Verfasst: Di 26. Dez 2023, 10:16
von Roland1
Ist es möglich die Gültigkeit in "B2" in "Tabelle 1" zu setzen
und in Zelle "B2" in "Tabelle 2" schreiben "=($Tabelle1.B2)"

Re: Zellüberwachung, bei Änderung Wert in eine anderer Tabelle schreiben

Verfasst: Di 26. Dez 2023, 10:21
von Tschubi
Hallo Roland1,

in "B2" in "Tabelle 1" habe ich auch eine Gültigkeit aber eine etwas andere.

VG

Re: Zellüberwachung, bei Änderung Wert in eine anderer Tabelle schreiben

Verfasst: Di 26. Dez 2023, 11:39
von mikele
Hallo,
wenn 'Tabelle 2'.B2 stets den Wert aus 'Tabelle 1'.B2 bekommt., wozu dann in 'Tabelle 2'.B2 eine Gültigkeit? Diese Gültigkeitsprüfung wird dann nie ausgeführt.

Re: Zellüberwachung, bei Änderung Wert in eine anderer Tabelle schreiben

Verfasst: Di 26. Dez 2023, 12:09
von Tschubi
weil 'Tabelle 2'.B2 eben nicht stets den Wert aus 'Tabelle 1'.B2 bekommt sondern nur dann bekommen soll wenn der Wert sich in 'Tabelle 1'.B2 ändert.

VG

Re: Zellüberwachung, bei Änderung Wert in eine anderer Tabelle schreiben

Verfasst: Di 26. Dez 2023, 16:40
von mikele
Hallo,

Code: Alles auswählen

sub WatchaCell(event)
	if event.supportsService("com.sun.star.sheet.SheetCell") then
		if event.cellAddress.Column = 1 and event.cellAddress.Row = 1 then ' Zelle B2
			zielZelle=ThisComponent.Sheets.getByName("Tabelle2").getCellRangeByname("B2")
			zielZelle.String=event.String
		end if
	end if
end sub
wenn es Zahlenwerte sind:

Code: Alles auswählen

zielZelle.Value=event.Value

Re: Zellüberwachung, bei Änderung Wert in eine anderer Tabelle schreiben

Verfasst: Mi 27. Dez 2023, 17:10
von Tschubi
Hallo mikele,

danke für deine Hilfe es funktioniert bestens!

VG