Supportnet / Forum / Tabellenkalkulation
VBA Funktion: Ausgabe als Range
Frage
Hallo liebe Liste,
ich frage mich zur Zeit, wie man eine benutzerdefinierte Funktion schreibt, die mehr als einen Wert in eine Range (z.B. 3 Zellen) zurückschreibt..
Beispiel
Function xyz(abc as Range) as Range
xyz(1)=abc(1)
xyz(2)=abc(2)
xyz(3)=abc(3)
End function
Das funktioniert leider nicht.
Was mache ich hier falsch?
Kann mir jemand dabei helfen?
Viel Grüße und Dank im Voraus.
Chrisnelly
Antwort 1 von nighty
hi Chrisnelly
hier ein kleines beispiel
bei formelwertveraenderung in zelle a3 wird ein makro gestartet
gruss nighty
einzufuegen alt f11(vbeditor)/einfuegen/modul
einzufuegen alt f11(vbeditor)/projektexplorer/DeineTabelle
hier ein kleines beispiel
bei formelwertveraenderung in zelle a3 wird ein makro gestartet
gruss nighty
einzufuegen alt f11(vbeditor)/einfuegen/modul
Sub makro02()
Public fest As Variant
End Sub
Sub makro01()
Cells(1, 1) = Cells(1, 1) + 1
End Sub
einzufuegen alt f11(vbeditor)/projektexplorer/DeineTabelle
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If fest <> Range("A3") Then
fest = Range("A3")
makro01
End If
Application.EnableEvents = True
End Sub
Antwort 2 von Chrisnelly
Hallo nighty,
danke Dir für deine Anwort.
Möglicherweise habe ich mich dort missverständlich ausgedrückt.
Mein Problem bezieht sich eigentlich eher auf die Ausgabe einer Funktion. Normaler trägt man in eine zelle ja eine funktion ein, die in diese Zelle einen Wert zurückgibt.
Wäre das auch möglich, wenn die Funktion mehr als einen wert zurückgeben soll?
Z.B.:
Eingabe: 2 mal Range mit jeweis 3 Zellen (abc, def)
Ausgabe: 1 mal Range mit 3 Zelen (ghi)
Ich drücke mich wahrscheinlich immer noch ziemlich laienhaft aus, aber vielleicht versteht man es ja trotzdem ;-)
Danke für Deine (Eure) Mühe.
Grüße
Chrisnelly
danke Dir für deine Anwort.
Möglicherweise habe ich mich dort missverständlich ausgedrückt.
Mein Problem bezieht sich eigentlich eher auf die Ausgabe einer Funktion. Normaler trägt man in eine zelle ja eine funktion ein, die in diese Zelle einen Wert zurückgibt.
Wäre das auch möglich, wenn die Funktion mehr als einen wert zurückgeben soll?
Z.B.:
Eingabe: 2 mal Range mit jeweis 3 Zellen (abc, def)
Ausgabe: 1 mal Range mit 3 Zelen (ghi)
Ich drücke mich wahrscheinlich immer noch ziemlich laienhaft aus, aber vielleicht versteht man es ja trotzdem ;-)
Danke für Deine (Eure) Mühe.
Grüße
Chrisnelly
Antwort 3 von nighty
hi Chrisnelly :)
das geht natuerlich nicht :)
daher mein obiger vorschlag,der natuerlich ein wenig vb kenntnisse vorraussetzt.
gruss nighty
das geht natuerlich nicht :)
daher mein obiger vorschlag,der natuerlich ein wenig vb kenntnisse vorraussetzt.
gruss nighty