Hallo,
wurde bestimmt schon tausend mal gefragt, aber ich finde es leider nicht. Die Beispiele für Excel-VBA geben bei mir immer nur Laufzeitfehler. Vielleicht trage ich sie auch an der falschen Stelle ein. Ich habe Makros (Excel) bisher immer nur aufgezeichnet und ausgeführt. Programmierkenntnisse habe ich eigentlich auch.
Ich möchte eine simple, bidirektional wirkende Formel, welche auf Zelländerung reagiert. Als einfaches Beispiel soll ein Dollar / Euro Umrechner dienen:
Seien in Spalte A die (Text)Bezeichnungen und in Spalte B die entsprechenden Werte
Zelle A1= "Wechselkurs" Zelle B1= 1,14
Zelle A2= "Euro" Zelle B2= WERT
Zelle A3= "Dollar" Zelle B3= WERT
Das Makro soll nun die Zellen B2 und B3 auf Änderungen durch (manuelle) Eingaben überwachen. Bei Änderung soll die jeweils andere Zelle automatisch mit den in $B$1 stehenden Wechselkurs berechnet werden.
Dazu braucht man wohl einen "Listener" der entsprechendes Ereignis überwacht. Irgendwo muss doch ein simples Beispiel wie meines existieren? Link?
Danke im Voraus
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
simples Makro, welches auf Zellinhalt-Aenderung reagiert
Re: simples Makro, welches auf Zellinhalt-Aenderung reagiert
Hi,
eigentlich die falsche Forumskategorie, es gibt ja auch LibreOffice Programmierung, aber sei es drum.
Folgendes Makro an das Tabellenereignis der Tabelle1, "Inhalt geändert", gehängt, sollte es tun:
Gruß R
eigentlich die falsche Forumskategorie, es gibt ja auch LibreOffice Programmierung, aber sei es drum.
Folgendes Makro an das Tabellenereignis der Tabelle1, "Inhalt geändert", gehängt, sollte es tun:
Code: Alles auswählen
sub Umrechner(event)
oSheet = ThisComponent.sheets.Tabelle1
oWKCell = oSheet.getcellbyposition(1,0)
dWK = oWKCell.value
select case event.AbsoluteName
case "$Tabelle1.$B$2"
dEURO = event.value
oDCell = oSheet.getcellbyposition(1,2)
oDCell.Value = dEURO * dWK
case "$Tabelle1.$B$3"
dDOLLAR = event.value
oECell = oSheet.getcellbyposition(1,1)
oECell.Value = dDOLLAR / dWK
end select
End sub
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: simples Makro, welches auf Zellinhalt-Aenderung reagiert
Danke für den Tipp! Auf Tabellenereignis (Rechtsklick auf Tabelle1) wäre ich so niemals gekommen! Danke auch für den Makro-Code. Funktioniert auf anhieb einwandfrei und ich kann ihn nun als Basis nutzen um viele meiner Tabellen zu verkürzen und vereinfachen!
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.