Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Addin Funktion mit Output an andere Zellen

Addin Funktion mit Output an andere Zellen
Sönke
Hi Leute,
wie kann ich es zur "Laufzeit" es schaffen, dass die Funktion nicht nur an sich selbst ein Rückgabewert gibt, sondern z.b. auch an einen anderen Zellbereich im gleichen Tabellenblatt?
Beispiel:
Funktion wird in Zelle A1 aufgerufen -> =MeineFunktion(A20)
Im VBA:

Function MeineFunktion(pRange as range)
'Ermittle die Daten aus einer anderen Tabelle bzw. Datenbank
Set r = pRange
For Each x In .fields
r = x.Name
r.Font.Bold = True
Set r = r.Offset(, 1)
Next
r.Offset(1,0).CopyFromRecordset rssql
End Function

Das ganze passiert dann in einem Addin, ist momentan aber Egal...
thx
Sönke
AW: Addin Funktion mit Output an andere Zellen
20.04.2010 12:57:27
Rudi
Hallo,
dass die Funktion nicht nur an sich selbst ein Rückgabewert gibt

indem du der Funktion den Rückgabewert zuweist.
MeineFunktion=Rückgabewert
Gruß
Rudi
AW: Addin Funktion mit Output an andere Zellen
20.04.2010 13:15:32
Sönke
Danke,
aber das die Funktion so wie du beschrieben hast die Werte selber an sich zurück gibt is mir schon klar.
Das hatte ich aber auch so denke ich beschrieben.
Mir geht es darum: Übergabe an andere Zelle siehe Zellenschleife!
thx
Sönke
AW: Addin Funktion mit Output an andere Zellen
20.04.2010 13:44:04
xr8k2
Hallo Sönke,
wenn du die Funktion als UDF aus einer Excelzelle heraus aufrufst wirst du es m.E. nicht schaffen ;-(
Derartige "Zellmanipulationen" werden durch Excel unterbunden.
Gruß,
xr8k2
Anzeige
AW: Addin Funktion mit Output an andere Zellen
20.04.2010 14:27:19
Sönke
Habe ich schon vermutet,
aber meine Tendenz geht jetzt in Richtung Timer. Siehe folgendes Beispiel:
Nur den Event kann ich leider nicht genau steuern, weiß jemand Rat?
Public Function GetAllAssetClass()
Call StartTimer("MeineFunktion")
End Function
Sub StartTimer(pProzedur As String)
runWhen = Now + TimeSerial(0, 0, 2)
Application.OnTime runWhen, pProzedur, True
End Sub
Sub StopTimer(pProzedur As String)
On Error Resume Next
Application.OnTime runWhen, pProzedur, False
End Sub

AW: Addin Funktion mit Output an andere Zellen
20.04.2010 14:38:07
xr8k2
Hallo Sönke,
ich will dir ja jetzt nicht den Mut nehmen, aber ich glaub auch die Ontime-Funktion wird nicht ausgeführt, sobald der ursprüngliche Funktions-Aufruf als UDF in einer Excelzelle erfolgt ;-(
Was meinst du denn mit "Nur den Event kann ich leider nicht genau steuern"? Bei Welchem Ereignis soll den Was passieren?
Gruß,
xr8k2
Anzeige
AW: Addin Funktion mit Output an andere Zellen
20.04.2010 14:49:40
Sönke
Wenn die Funtion in der Zelle aktiviert wird oder F9 für Berechnen gedrückt wird, sollte es passieren.
aber OnDemand geht wohl so nicht ;-(((
Alternativen?
AW: Addin Funktion mit Output an andere Zellen
20.04.2010 15:00:33
xr8k2
Hallo Sönke,
du hast das Calculate - Ereignis des Worksheets. Dieses wird jedoch immer ausgelöst, wenn das gesamte Blatt berechnet wird.
Wenns wirklich nur von der UDF ausgelöst werden soll könnte man das vielleicht "so immitieren", das man mit starten der Mappe eine Ontime-Prozedur initialisiert, die regelmäßig (vielleicht sogar im sekundentakt) ausführt wird. In dieser Ontime-Prozedur führst du dann in Abhängigkeit von globalen Variablen (deren Inhalte du wiederum über die UDF beeinflussen kannst) die gewünschten Zelländerungen durch. Habs selbst noch nicht probiert ... aber das könnte vielleicht funktionieren.
Gruß,
xr8k2
Anzeige
AW: Addin Funktion mit Output an andere Zellen
20.04.2010 16:16:09
Sönke
gute Idee,
ist zwar nicht schön aber so könnt es funzen,
herzlichen dank für die Idee.
thx
Sönke
Dazu habe ich hier schon genug geschrieben,...
20.04.2010 19:15:50
Luc:-?
…Sönke & xr8k2,
Stichwort: physisch entkoppeln! Verwende das …_Change-Ereignis und eine Globalvariable, sowie ggf (je nach Organisation des Ganzen) noch eine Dummy-Prozedur mit austauschbarer Befehlszeile!
Gruß Luc :-?
@Luc ...
21.04.2010 08:09:07
xr8k2
Hi Luc,
sorry, aber wenn ich dein Stichwort "physisch entkoppeln" in die Suche eingebe, dann erhalt ich genau 0 Treffer ^^
Ereignisse um auf Änderungen in einem Sheet zu reagieren gibts ja gar viele ... was hier der Hintergrund ist, warum Zelländerungen durch eine UDF erfolgen sollen, hab ich bis dato leider immer noch nicht genau verstanden, jedoch auch nicht weiter hinterfragt.
Gruß,
xr8k2
Anzeige
Variiere mal entkoppeln etwas oder suche...
22.04.2010 01:27:24
Luc:-?
…extern, d.h., von außerhalb des Forums (da finde ich auch immer mehr aus dem Forum als intern) bzw nach den beiden zusammenhängenden Grom-Threads von neulich im Forum, xr8k2!
Im wichtigeren schreibe ich gleich noch was. Da ist auch ein Bsp mit _Change. Habe allerdings noch ein anderes Problem (echtes Extern-BedingtFormat mit >3 Bedingg vor xl12), bei dem ich mit volatilen xlFktt wie ZUFALLSZAHL (für wechselnde Tesdaten günstig) und dem Speichern Probleme habe, die sich bisher nicht (auch nicht mit _BeforeSave) beheben ließen. Das wäre für den Normaluser der einzige Schönheitsfehler (ich habe noch ein paar mehr mit udFktt, die darauf aufsetzen). Ich erwähne das, weil es defacto nach dem gleichen Prinzip fktt. Es geht also!
Im Übrigen muss ich dir allerdings beipflichten…
Gruß Luc :-?
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige