Anzeige
Archiv - Navigation
1252to1256
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

WorksheetFunction mit mehrdimensionalen Arrays

WorksheetFunction mit mehrdimensionalen Arrays
Heiko
Hallo, Leute,
kann man die Application.WorksheetFunction...() auch auf 2 oder mehrdimensionale Arrays anwenden oder geht das nur mit eindimensionalen (bisher hat's nur bei eindimensionalen geklappt, aber ich hatte gehofft, man kann hinter "array" in Klammern angeben, welche Dimension gemeint ist...
Z.B. Max Wert aus Dimension 2 eines Arrays ermitteln
array(x,y)
Application.WorksheetFunction.Max(array)
Falls es geht, wie wuerde das z.B. mit .Transpose(array) aussehen, wenn man beide Dimensionen in 2 Spalten schreiben will?
Vielen Dank,
Heiko

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

Betreff
Benutzer
Anzeige
So wie dargestellt geht das natürl nicht, ...
20.03.2012 00:49:04
Luc:-?
…Heiko,
sondern so …
Dim arDat(1, 9) As Double
With WorksheetFunction
Range("A1:B10") = .Transpose(arDat)
Range("C1") = .Max(.Index(arDat, 1, 0)
End With
In C1 wird hierbei das Maximum aller Werte aus Zeile 1 (Positionsnr 0 der 1.Dimension) des Arrays arDat geschrieben.
Nur mit VBA-Mitteln kann keine einzelne Dimension eines Arrays so einfach ausgewählt wdn. Es müsste dann eine neue Variable angelegt wdn, die bei einem Durchlauf des Arrays selektiv gefüllt wird.
XlFktt, die primär für Einzelwerte vorgesehen sind, fktionieren als WorksheetFunction auch nur so, auch, wenn sie in einer MatrixFml im TabBlatt auch Datenfelder verarbeiten können. Die dabei zur Anwendung kommende zentrale Steuerung entfällt in VBA. Die kann man nur bei Verwendung von Evaluate und Angabe einer normalen engl Fml nutzen, was hier aber wg des m-dimensionalen Arrays nicht infrage kommt, denn das müsste erst in eine MatrixKonstante in Textform umgewandelt wdn, was die Sache 1. noch komplizierter macht und 2. auch seine Grenzen hat.
Gruß Luc :-?
Anzeige
AW: So wie dargestellt geht das natürl nicht, ...
20.03.2012 17:18:59
Heiko
hi, Luc,
vielen Dank fuer die Erlaeuterungen.
Ich hatte mir das schon gedacht .
Ich hatte gehofft, ich koennte die Schleifenloesung vermeiden und vor allem die Interaktion mit der Tabelle, was bei langen Arrays ganz schoen Zeit kosten kann.
Aber die Funktion .Index kannte ich noch nicht. Ich werds damit mal probieren. Gerade bbei 2-dim Arrays ist ja nicht nur der Wert, sondern auch die Position wichtig.
Ciao, Heiko
INDEX kennst du doch aber!? ;-) Gruß owT
23.03.2012 02:01:11
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige