Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
924to928
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
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Matrix auswerten
09.11.2007 16:45:25
KViertel
Hallo,
ich habe folgendes Problem:
Eine Matrix "BAListe(500,12,12)" soll in VBA ausgewertet werden. Die Matrix wird zu Beginn aus mehreren Tabellen gefüllt.
Da die Matrix sehr ungleichmäßig gefüllt wird, suche ich nach einer Möglichlkeit möglichst einfach bzw schnell an die Werte zu kommen.
Es ist beispielsweise so, dass BAListe(10,1,1-12) Daten enthält, dann wieder BAList(20,5,1-12) und BAList(35,8,1-12).
Ich muss bei der Auswertung jedesmal alle 500 1.Kategorie-Sätze durchlaufen, dann jeweils die der 2.Kategorie mit der jeweiligen Kontrolle ob der 1.Satz in Kategorie 3 einen Wert enthält. Wenn ja, dann auswerten.
Gibt es eine Möglichkeit z.B. herauszubekommen, ob BAList(20) Daten enthält?
Ich bin für Tipps dankbar.
MfG. Klaus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrix auswerten
09.11.2007 21:28:00
Gerd
Hallo Klaus,
wie lädst Du das Datenfeld?
Evtl. wäre es hilfreich zunächst kleinere Einheiten, z.B. zweidimensionale Arrays pro Blatt, zu bilden
und diese anschließend zusammenzufassen.
Gruß Gerd

AW: Matrix auswerten
10.11.2007 00:16:00
Klaus
Hallo Gerd,
Bei meiner Anwendung handelt es sich um eine SQL-Auswertung einer großen Datenbank, die als Exceldatei übergeben wird und 5 Tabellen enthält. Es handelt sich um eine Auswertung die den Wert eines Waldbetriebes darstellen soll. Dazu sind alle Tabellen über einen Hilfsschlüssel verbunden, wobei eine Tabelle als Stammtabelle gilt. Diese Tabellen haben alle 156 Spalten, die aber jeweils nur teilweise belegt sind.
In der Stammtabelle sind alle Waldorte (WO_Tabelle) beschrieben. Jetzt müssen aus der BAZ-Tabelle in der alle vorhandenen Baumarten beschrieben werden, Baumarten zusammengestellt werden. Dabei muß eine Gruppierung nach dem Alter vorgenommen werden (AltersKlassen, im 20 Jahre Rythmus). Dabei müssen zB. die Baumartennummer, der Name, die Anteilfläche usw. gesammelt werden und anschließend nach Baumarten getrennt, nach Altersklassen unterteilt dargestellt werden.
Da es in einem Waldbestand so sein kann, dass es einen Altbestand und darunter einen jüngeren Bestand geben kann, dessen Wert bei der Erstellung zu berücksichtigen ist, wird über die Gesamtfläche des Waldortes ein Reduktionsfaktor errechnet der für die Berechnung der Flächenanteile herangezogen wird, da die Fläche der BA-Zeilen des Waldortes größer sein kann als die tatsächliche des Waldortes.
Im ersten Schritt wird eine Matrix erstellt, die die Flächen der BAZ sammelt und den Reduktionsfaktor berechnet. Im 2. Schritt wird diese Matrix als Schleifengrundlage benutzt um die BAZ-Matrix zu füllen.
Es gibt ca. 500 Baumarten, 12 Altersklassen und es sollen 12 Werte gesammelt werden. Daher BAZ_Liste(500,12,12). Dies passiert nur im Speicher. Ich benutze die tätsächlichen Baumartennummern als Wert. Dh. BA-Nr 20 = Buche, Alter 115 = Altersklasse 6, unter 1 = Teilfläche, 2 = Ertragsklasse usw.
Dargestellt als BA_List(20,6,1-12). Wenn ich jetzt die Auswertung darstellen muss, dann soll für jede Baumart eine eigene Tabelle angelegt werden, wobei nur ein kleiner Teil der Matrix belegt ist, abhängig von der Größe des Betriebes. Es werden im Normalfalle nur ca. 20 Baumarten mit je etwa 8 Altersklassen verwendet. Ich muß aber z.B. vor die Tabellenanlage wissen, ob es in der Matrixschleife für diese BA überhaupt einen Datensatz zur Darstellung gibt. d.h. ich müßte in jede BA, jede AKL zB. unter 1 nachsehen, ob dort ein Wert steht.
Daher meine Frage, ob es evtl. eine Möglichkeit gibt, ohne großen Aufwand erkennen zu können, ob es in dieser Kategorie einen DS gibt.
MFG. Klaus
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige