Makro funktioniert nur unter "Ausführen" manuell

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro funktioniert nur unter "Ausführen" manuell

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

von Jörg » Do, 27.08.2015 16:55

P.S. die Auswahl erfolgt über "I5" Tabelle 2(index)

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

von Jörg » Do, 27.08.2015 16:53

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

von Karolus » Do, 27.08.2015 15:32

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

Makro funktioniert nur unter "Ausführen" manuell

von Jörg » Do, 27.08.2015 14:39

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

Nach oben