Aktualisieren von Zellen

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: Aktualisieren von Zellen

Re: Aktualisieren von Zellen

von Stephan » Di, 27.09.2011 22:18

Also ich habe jetzt Extras/Zellinhalte auf automatisch berechnen gestellt.
Und das kann natürlich nicht helfen weil Du Notwendigkeiten und Wunsch vermischt.

Extras/Zellinhalte auf automatisch stellen kann nur helfen wenn Du Zellen (genauer sind es hier Rückgaben von Zellinhalten) übergibst, das jedoch kannst Du nicht wenn Du die Funktion von Komma4 verwendest denn diese erfordert die Übergabe von Strings, also NICHT:

=MEINEFUNKTION ( A1:H1 ; "M1" )

sondern AUSSCHLIEßLICH:

=MEINEFUNKTION ( "A1:H1" ; "M1" )

denn sonst kann es nicht funktionieren. Gleichzeitig ist aber wegen der Notwendigkeit Strings übergeben zu müssen eine automatische Aktualisierung, bei dieser Art der Funktions-Implementierung, prinzipiell nicht möglich. Das war auch mein Grund im anderen Thread die andere Funktion vorzuschlagen

So ist der technische Sachstand.


Ich würde deshalb keine weitere Zeit verschwenden, sondern einfach in Deine Zelle schreiben:

=SUMMENTEST(M1.A1:M1.H1)

und es wird wie gewünscht funktionieren (sofern die Funktion Summentest() in einem Modul des Dokuments steht)


Gruß
Stephan

Re: Aktualisieren von Zellen

von Shirkan » Di, 27.09.2011 21:50

Also ich habe jetzt Extras/Zellinhalte auf automatisch berechnen gestellt. Der Aufruf der Prozedur erfolgt in einer Zelle durch: =MEINEFUNKTION ( A1:H1 ; "M1" ).
Jetzt bekomme ich in der Zeile >>oBereich = ThisComponent.Sheets().ge ....<< die Fehlermeldung "Basic-Laufzeitfehler Objektvariable nicht belegt" und weiß hier nicht weiter. Kann da noch mal jemand drüber schaun und eine Rückmeldung geben?
Gruß Markus

Code: Alles auswählen

Function MeineFunktion( sBereichsAdr , sTabName )

Dim oBereich as object
Dim oDaten
Dim oDatenZeile
Dim lSumme
Dim zz 		'ZählerZeilen
Dim zc 		'ZählerCells

oBereich = ThisComponent.Sheets().getByName( sTabName ).getCellRangeByName( sBereichsAdr )
oDaten = oBereich.getDataArray()
lSumme = 0

	'die Zeilen des Bereichs durchlaufen
	for zz = LBound( oDaten() ) to UBound( oDaten() )
		oDatenZeile() = oDaten( zz )

		'die Zellen der Zeilen durchlaufen
		for zc = LBound( oDatenZeile() ) to UBound( oDatenZeile() )
			lSu[code]
mme = lSumme + oDatenZeile( zc )
next ' Zellen
next ' nächste Datenzeile

print lSumme
MeineFunktion = lSumme

End Function[/code]

Re: Aktualisieren von Zellen

von Stephan » Di, 27.09.2011 19:35

es ist zwar lobenswert, dass Du Antworten in diesem Forum schreibst, aber leider sind diese derart kryptisch, dass man erst einmal dahinter kommen muss was gemeint ist.
Ich habe eine Antwort geschrieben welche sich nicht wesentlich von der Antwort von Komma4 unterschioed, irgendeine Rückfrage von Dir, die deutlich gemacht hätte das Du gerade merine Antwort als kryptische empfindest, habe ich nicht gelesen.

Besonders Toll dabei das meine Antwort technisch sogar der Antwort von Komma4 bezüglich der Programmiertechnik gleicht und darüber hinaus die Funktion Summentest so wie sie dasteht sofort DEin Problem löst, selbst wenn Du sioe inhaltlich nicht verstehen würdest, denn es ist notfalls nur nötig stumpfsinnig hinzuschreiben:

=SUMMENTEST(<Dein gewünschter Zellbereich>)

Nichts weiter, also z.B. auch:

=SUMMENTEST(A1:D99)

oder auch:

=SUMMENTEST(Tabelle1.A1:Tabelle1.D99)

also doch wohl Formulierungen die du bezüglich der Antwort von Komma4 verstanden hattest.

Ich komme mir somit nur noch veralbert vor.
Wenn Du anschließend gifftig reagierst, dass es nicht verstanden ist, ist das auch nicht sehr hilfreich.
Wo habe ich das? Du hast die gegebene Antwort schlichtweg ignoriert, und nicht etwa nicht verstanden, denn das hätte geheißen das Du einfach nachgefragt hättest was du nicht verstanden hast, und schiebst jetzt mir dafür scheinbar noch die Schuld zu.
Unabhängig davon mag Dein Hinweis vieleicht richtig sein, aber da Deine Funktion >summentest< auch syntaktisch nicht vollständig ist muss ich mir das heute abend in Ruhe ansehen.
Ich fasse mal zusammen:
Du hast Dir meine Lösung überhaupt nicht richtig angesehen, Du hast sie in jedem Falle nicht verstanden, aber eine Nachfrage dazu hälst Du nicht für angebraucht, stattdessen glaubst Du hier zuerst einmal über meine Person urteilen zu müssen bzw. Dinge als "Kryptisch" zu erklären die Du bei der Antwort von Komma4 verstanden hattest - t o l l



Stephan

Re: Aktualisieren von Zellen

von lorbass » Di, 27.09.2011 14:53

Shirkan hat geschrieben:bei Excel geschieht das immer automatisch
Nö. Auch Excel macht das nur, wenn die zugehörige Option entsprechend konfiguriert ist.
Shirkan hat geschrieben:wie das bei Calc automatisiert wird, ohne, dass ich mich manuell darum kümmern muss?
Extras > Zellinhalte > Automatisch berechnen

Gruß
lorbass

Re: Aktualisieren von Zellen

von Shirkan » Di, 27.09.2011 10:05

Hallo Stephan,
es ist zwar lobenswert, dass Du Antworten in diesem Forum schreibst, aber leider sind diese derart kryptisch, dass man erst einmal dahinter kommen muss was gemeint ist. Wenn Du anschließend gifftig reagierst, dass es nicht verstanden ist, ist das auch nicht sehr hilfreich. Unabhängig davon mag Dein Hinweis vieleicht richtig sein, aber da Deine Funktion >summentest< auch syntaktisch nicht vollständig ist muss ich mir das heute abend in Ruhe ansehen. Ich wende mich ja zwecks Hilfestellung an das Forum und nicht weil ich schon alles weiß! Nichts für ungut, ich melde mich wieder
Gruß Markus

Re: Aktualisieren von Zellen

von Stephan » Di, 27.09.2011 09:24

DEr Tipp istz ganz einfach, ignorierte nicht Dir gegebene Antworten und Du hättest dieses Problem nicht. WArum wohl ga<b ich in dem anderen Thread den Hinweis auf eine benutzerdefinierte Funktion die mittels:

=SUMMENTEST(A1:B20)

aufgerufen werden kann (und eben nicht mittels =SUMMENTEST("A1:B20")) weshalb sie sich, wie jede 'normale' Funktion automatisch aktualisiert?



Gruß
Stephan

Re: Aktualisieren von Zellen

von Gert Seler » Di, 27.09.2011 09:22

Hallo Markus,
da solltest Du das Beispiel mal hochladen !

mfg
Gert

Aktualisieren von Zellen

von Shirkan » Di, 27.09.2011 09:16

Liebe Leute,
als Umsteiger habe ich wieder einmal meine Schwierigkeiten:
Ich habe eine benutzerdefinierte Funktion geschrieben, die aus einem übergebenen Zellbereich nach Berechnung einen Einzahlwert in eine Zelle zurück gibt "=MeineFunktion(....)". Nun ist es so, dass wenn ich die Parameter für die Funktion ändere die Zelle mit dem Rückgabewert leider nicht aktualisiert wird (bei Excel geschieht das immer automatisch). Kann mir jemand einen Tipp geben wie das bei Calc automatisiert wird, ohne, dass ich mich manuell darum kümmern muss?
Vielen Dank für Eure Hilfe
Markus

Nach oben