Funktionsaufruf über Matrixformel geht nicht

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: Funktionsaufruf über Matrixformel geht nicht

Re: Funktionsaufruf über Matrixformel geht nicht

von Karolus » Mi, 12.01.2011 10:06

Hallo
Da ich viele 100 Werte berechnen muss, dachte ich es wäre sinnvoll das mit Matrixformel zu machen.
Nein es geht in diesem Fall nur um ein effizientes Ausfüllen eines größeren Bereichs. Das erreichst du nach Eingabe der ersten Formel leichter mit:
entweder:
  • - Doppelklick auf die rechte untere Rahmenecke der Formelzelle
oder:
  • - markieren des auzufüllenden Bereichs + → Bearbeiten → Ausfüllen → unten...
oder:
  • -kopieren der Formelzelle + einfügen in den auszufüllenden Bereich
Gruß Karo

Re: Funktionsaufruf über Matrixformel geht nicht

von saxo » Mi, 12.01.2011 09:48

Hallo Karo,
also mit der Matrixformel {=DEG_CHAR2NUM(A6:A7)} gibt es den gleichen Laufzeitfehler.

Der einfache Versuch eine Spalte zu kopieren mit Matrixformel {=(A6:A7)} funktioniert nach mehrmaliger Eingabe, die ersten Male hat er selbständig wieder nach {=(A7:A7)} umgewandelt.

Da ich viele 100 Werte berechnen muss, dachte ich es wäre sinnvoll das mit Matrixformel zu machen.

Grüsse

Re: Funktionsaufruf über Matrixformel geht nicht

von Karolus » Mi, 12.01.2011 08:40

Hallo
Als Matrixformel wäre in diesem Fall nur sinnvoll hinter DEG_CHAR2NUM( eine Bereichsadresse anzugeben, zb. =DEG_CHAR2NUM(A2:A7)
-aber du brauchst das doch nicht wirklich als Matrix, es reicht doch in B2: =DEG_CHAR2NUM(A2)
und die Formel nach unten ziehen.
Nebenbei sehe ich auch keinen zwingenden Grund dazu INDIREKT und ZEILE() zu missbrauchen.

Gruß Karo

Funktionsaufruf über Matrixformel geht nicht

von saxo » Di, 11.01.2011 22:43

Hallo,
habe diese Progrämmchen zur Umformatierung von Gradangaben
z.B. aus String 10°W soll die Zahl -10 werden:
Function DEG_CHAR2NUM(x As String) As Double
If (LCase(Right(x,1)) = "w") Then
DEG_CHAR2NUM = -Val(x)
Else
DEG_CHAR2NUM = Val(x)
EndIf
End Function

Funktioniert auch wenn ich einzelne Werte umrechne. Da ich aber viele Werte habe, will ich das in eine Matrixformel schreiben und es kommt immer Laufzeitfehler. Weiss jemand warum? Datei hängt an.

Nach oben