Supportnet Computer
Planet of Tech

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

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

Antwort 3 von nighty

hi Chrisnelly :)

das geht natuerlich nicht :)

daher mein obiger vorschlag,der natuerlich ein wenig vb kenntnisse vorraussetzt.

gruss nighty

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: