Seite 1 von 1

Makro funktioniert nur unter "Ausführen" manuell

Verfasst: Do, 27.08.2015 14:39
von Jörg
Hallo Fachleute,
Nachstehendes Makro möchte ich irgendwie zuordnen, sodass es automatisch läuft.

Code: Alles auswählen

sub Zahlung
odoc = ThisComponent
       osheet = odoc.sheets(2)
Dim Alter as integer
myCelle = osheet.getCellRangeByName ("A12")
Alter = oSheet.getCellRangeByName("J8").value

if Alter < "18" then
print "Von Zuzahlung befreit"
myCelle.string = "O"
end if

end sub
Zur Erläuterung:
In "A12" steht der Referenzwert eines Markierfeldes. "X" für an, "O" für aus.
In "J8" steht das Alter als Ergebnis folgender Formel:

Code: Alles auswählen

=WENN(D10="";"";JAHRE(D10;HEUTE();0))
Folgendes habe ich bisher leider ohne Erfolg versucht.
1. über Tabellenereignis "Inhalt gändert" (ist eh nicht so gut, da sich ständig was ändert)
2. Über "J8" Daten-> Gültigkeit->Fehlermeldung-> Makro
Habe im Forum auch schon gesehen, dass statt der Sub eine Function verwendet werden könnte (müßte?), doch weiß ich da nicht weiter.

Habt Ihr einen Rat?
Gruß Jörg

Re: Makro funktioniert nur unter "Ausführen" manuell

Verfasst: Do, 27.08.2015 15:32
von Karolus
Hallo

Versuch mal per Tabellenereignis `Inhalt geändert`:

Code: Alles auswählen

Sub geaendert( event )

	with event.Spreadsheet
		if .getCellRangeByName("J8").Value < 18 then
			.getCellRangeByName("A12").String = "0"
			exit sub
		else
			.getCellRangeByName("A12").String = "X"
			exit sub
		end if
	end with
	
End Sub

Re: Makro funktioniert nur unter "Ausführen" manuell

Verfasst: Do, 27.08.2015 16:53
von Jörg
hallo Karolus,
Danke Dir erstmal. Leider funktioniert das noch nicht ganz.
Insbesondere, wenn der Wert im per Markierfeld manuell geändert wurde, springt der Ref.-Wert erst beim 2. Mal um.
Die zweite Frage wäre:
Unter Tabellenereignis"Inhalt geändert" habe ich im Originaldokument schon ein Makro zu laufen:

Code: Alles auswählen

sub Pruefung_richtige_KK_richtige_Preisliste
(steht auch in der Beispieldatei)
Daher könnte event. das exit sub stören.

Ich hänge mal eine Beispieldatei dran.
Markierfeld.ods
(239.29 KiB) 58-mal heruntergeladen
Gruß Jörg

Re: Makro funktioniert nur unter "Ausführen" manuell

Verfasst: Do, 27.08.2015 16:55
von Jörg
P.S. die Auswahl erfolgt über "I5" Tabelle 2(index)