Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
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

Matrix-Formel - Zellbereich

Matrix-Formel - Zellbereich
09.09.2022 19:22:43
Daniel
Hallo
ich möchte eine UDF für eine Formel mit Matrix-Ergebnis schreiben.
dh der Anwender muss bei der Eingabe der Formel einen Zellbereich markieren und dann STRG+SHIFT+ENTER drücken.
Wie kann ich in der UDF ermitteln, wie groß dieser Zellbereich ist, den der Anwender bei der Eingabe markiert hat?
um Fehler im Ergebnis zu vermeiden, soll dann das Array für das Ergebnis an die Größe des markierten Zellbereichs angepasst werden
Gruß Daniel

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrix-Formel - Zellbereich
09.09.2022 22:38:18
Yal
Hallo Daniel,
es gibt nach meinen Recherchen keine Möglichkeit, Eigenschaft des Empfängers in der Funktion zu lesen.
Höchsten kannst Du das Ergebnis-Array überdimensionieren, sodass oberhalb des Ergebnisses leer (string) oder null (Integer, Long, ..) zurückgegeben wird.
Der Rückgabebereich muss dann immer kleiner sein.

Public Function TestMatrixHoriz(ByVal Target As Range) As String()
Dim i
Dim Erg(200) As String
For i = 0 To Target.Cells(1).Value - 1
Erg(i) = i + 1
Next
TestMatrixHoriz = Erg
End Function
Public Function TestMatrixVert(ByVal Target As Range) As String()
Dim i
Dim Erg(200,0) As String
For i = 0 To Target.Cells(1).Value - 1
Erg(i,0) = i + 1
Next
TestMatrixVert = Erg
End Function
VG
Yal
Anzeige
AW: Matrix-Formel - Zellbereich
09.09.2022 23:41:33
onur
Meinst du sowas wie Target.Rows.Count, Target.Colums.Count und Target.Cells.Count ?
AW: Matrix-Formel - Zellbereich
10.09.2022 00:00:19
Yal
Hallo Onur,
das wäre dann die Eingangsparameter (oder deren Eigenschaften).
Hier geht es um die Möglichkeit, mit einer Matrixformel ein Ergebnis-Array zurückzugeben (im neueren Version als Überlauf bezeichnet. Man muss mehrere Zellen markieren, die Formel eingeben und mit Strg+Alt+Enter abschliessen. Die vorher markierte Zellen zeigen die Ergebnisse eine einziger Berechnung. Es ist auch nicht möglich, nur eine Teil diese zelle zu ändern.
Die Frage ist dann: wenn der User 5 Zelle markiert, um die Formel einzugeben, wie kann man erfassen, dass 5 Zellen markiert wurden (und nicht 3, 4, oder 6)
und vor allem, wie kann diese Info in der UDF berücksichtigt werden.
Ich habe nur kurz recherchiert, habe aber nur gefunden, dass es nicht geht.
Das höchste, was gehen könnte, ist, wie Du es erwähnst, die Grösse der Eingangswert zu messen, falls eine Grössengleichheit zwischen Eingang und Ausgang sein müsste. Was man auch nicht prüfen könnte.
VG
Yal
Anzeige
AW: Matrix-Formel - Zellbereich
10.09.2022 12:00:50
Daniel
Hallo
Ja, so was in der Art
Wenn Anwender 10 Zellen ausgewählt hat, das Ergebnis aber 11 Werte hat, sollte dies erkannt ibd win Fehler oder eine Meldung ausgegeben werden.
Gruß Daniel
AW: Matrix-Formel - Zellbereich
10.09.2022 12:31:02
Yal
Hallo Daniel,
Strategie 1: einschätzen, wieviel maximale Rückgabewert es geben könnte und die Anwender darauf hinweisen, dass sie soviele Ergebniszellen einstellen sollten.
St2: die Anzahl von Ergebnisse als erste Ergebniszelle zurückgeben. Oder eine Summe, oder checksum, ...
VG
Yal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige