Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
496to500
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
496to500
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vektorwertige Funktion

Vektorwertige Funktion
12.10.2004 15:10:17
Stephan
Ich möchte eine Funktion in VBA schreiben, die als Ausgabewert einen Vektor oder eine Matrix hat. Ich hab mir folgende kleine Testfunktion geschrieben:

Function testsumme(a, b)
testsumme(1) = a(1) + b(1)
testsumme(2) = a(2) + b(2)
End Function

testsumme soll ein Vektor sein, dessen erste Komponente die Summe der ersten Komponenten von a und b enthält und in der zweiten die Summe der zweiten.
So funktionierts aber nicht. Wo ist mein Fehler?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vektorwertige Funktion
EtoPHG
Hallo Stephan,
Denk mal in diese Richtung:
Option Explicit

Function testsumme(a As Variant, b As Variant) As Variant
testsumme = Array(a(0) + b(0), a(1) + b(1))
End Function


Sub x()
Dim a As Variant
Dim b As Variant
Dim x As Variant
a = Array(1, 2, 3)
b = Array(4, 5, 6)
x = testsumme(a, b)
MsgBox "1=" & x(0) & vbCrLf & _
"2=" & x(1)
End Sub

Gruss Hansueli
AW: Vektorwertige Funktion
12.10.2004 17:39:17
Stephan
Danke für die Antwort.
Wenn ich es richtig verstehe gibt
Array(a(0) + b(0), a(1) + b(1))
einen Zeilenvektor.
Wie krieg ich einen Spaltenvektor? Gibt es in VBA eine Funktion wie TRANSPOSE
Anzeige
AW: Vektorwertige Funktion
EtoPHG
Hallo Stephan,
Ich verstehe zu wenig von Matrizenrechnung. D.h. ich wollte Dir nur einen lauffähigen Code presentieren, der Deiner Ausgangslage entsprach. M.E. kennt EXCEL oder VBA keine Vektorenrechnung, sondern Du must über die Indexierung von Arrays, selber dafür sorgen, dass die richtigen Werte abgefüllt bzw. zusammengerechnet werden. Der obige Code bezieht sich überhaupt nicht auf Zellen in einem Tabellenblatt, sondern rechnet nur mit internen Variablen. Der Transpose befehlt gehört zu kopieren in Excel, wobei aus Spalteneinträgen Zeilen und umgekehrt gemacht wird, d.h. bildlich gesprochen eine Drehung des kopierten Bereichs um 90 Grad.
Gruss Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige