Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
580to584
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
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA für Matrix

VBA für Matrix
03.03.2005 16:45:37
Jan
Hallo zusammen,
ich habe folgende Formel in Excel
Formel:
=WENN(H1="A";(INDEX($C$2:$E$4;VERGLEICH(I1;$B$2:$B$4;0);VERGLEICH(J1;$C$1:$E$1;0)));WENN(H1="B";(INDEX($C$5:$E$7;VERGLEICH(I1;$B$5:$B$7;0);VERGLEICH(J1;$C$1:$E$1;0)));WENN(H1="C";(INDEX($C$8:$E$10;VERGLEICH(I1;$B$8:$B$10;0);VERGLEICH(J1;$C$1:$E$1;0)));WENN(H1="D";(INDEX($C$11:$E$13;VERGLEICH(I1;$B$11:$B$13;0);VERGLEICH(J1;$C$1:$E$1;0)));"geht nicht"))))

und möchte diese Funktion in ein VBA-Programm einfügen. Habe es schon mit Aufnehmnen über den Rekorder versucht, aber das hat nicht funktionier.
Meine VBA-Kenntnisse sind für eine Programmierung mit IF.. THEN.. ELSE.. Bedingungen nicht ausreichen vorhanden. Ich bitte also um Hilfe.
Es gibt drei Variable Spalte A, Spalte B und Zeile A1
Matrix:
_ _ n m h
A n 1 2 2
A m 2 2 2
A h ..
B n
B m
B h
...
Danke für die Hilfe!
Jan

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA für Matrix
03.03.2005 17:44:12
ransi
hallo jan
das ist ja eine mörderformel.
Ich kann die nur aus deiner beschreibung heraus nicht nachvollziehen.
mach doch am besten mal eine beispieltabelle die folgendes hergibt:
So ist meine datenstruktur,
und hier hätte ich gerne das oder das ergebniss.
dann geht da ganz bestimmt was mit VBA.
ransi
AW: VBA für Matrix
04.03.2005 08:44:36
Jan
Hallo Ransi!
Habe eine Tabelle erstellt und hoffe, dass Du damit etwas anfangen kannst!
https://www.herber.de/bbs/user/19187.xls
Danke schon mal für Deine Hife!
Jan
AW: VBA für Matrix
04.03.2005 12:00:39
Martin
Hallo Jan,
kann man die Matrix auch anders aufbauen? Wenn ja, könnte man das Problem mit einer einfachen Array-Formel lösen.
Gruß
Martin Beck
Anzeige
AW: VBA für Matrix
04.03.2005 12:32:04
Jan
Hallo Martin!
Ich glaube nicht, da Spalte A (A,B,C...) als Kategorien dient. Diese und die Matrix müssen nach unten hin erweiterbar bleiben, falls neue Kategorien hinzukommen. Ich weiß leider nicht, wie ich die Matrix ansonst besser aufbauen kann, so dass sie noch übersichtlich bleibt.
Wie soll das denn mit ner Arry-Funktion gehn? Kann mir das gerade nicht so richtig vorstellen.
Gruß
Jan
AW: Lösung ohne VBA
04.03.2005 12:54:22
Martin
Hallo Jan,
in der Matrix gibt es 45 Kombinationen (5*3*3). Die kann man in H1:K45 wie folgt darstellen:
A n n 1
A n m 2
A n h 2
A m n 2
A m m 2
A m h 2
A h n 2
A h m 2
A h h 2
B n n 1
B n m 2
B n h 2
B m n 2
B m m 2
B m h 2
B h n 2
B h m 2
B h h 2
C n n 2
C n m 2
C n h 2
C m n 2
C m m 3
C m h 3
C h n 2
C h m 3
C h h 3
D n n 2
D n m 2
D n h 2
D m n 3
D m m 3
D m h 3
D h n 3
D h m 3
D h h 3
E n n 2
E n m 2
E n h 2
E m n 4
E m m 4
E m h 4
E h n 4
E h m 4
E h h 4
Dann in Zelle D4 in Ergebnistabelle folgene Arrayformel:
=SUMME((A4=Matrix!$H$1:$H$45)*(Ergebnistabelle!B4=Matrix!$I$1:$I$45)*(Ergebnistabelle!C5=Matrix!$J$1:$J$45)*Matrix!$K$1:$K$45)
Die Eingabe der Formel mit STRG-SHIFT-ENTER, nicht mit ENTER abschließen. Danach die Formel nach unten kopieren.
Gruß
Martin Beck
Anzeige
AW: Lösung ohne VBA
04.03.2005 14:11:20
Jan
Hallo Martin,
Danke für die Formel. Funktioniert! Für ne kleine Matrix ist die sehr gut. Wieso muß ich die Formel eigentlich mit STRG-SHIFT-ENTER eingeben?
Bei einer 8*5*5 (200) Matrix, wird das ganze aber ganz schön aufwendiger. (bzw der Mensch ist ja von Grund auf Faul und möchte es sich so einfach wie möglich haben! *gr* ) Habe nämlich noch mehrere Matrix in verschiedenen Größen. Deshalb suche ich nach einer guten VBA-Funktion, die ich beliebig erweitern kann.
Gruß
Jan
AW: Lösung ohne VBA
04.03.2005 14:50:20
Martin
Hallo Jan,
zur Frage: Eben weil es eine Arrayformel (auch Matrixformel genannt) ist. Schau mal in der Recherche oder in der Excel-Hilfe.
Der Matrizenaufbau folgt ganz strikten Regeln, mit Ausnahme der Zahlen, aber die mußt Du ja ohnehin auch in Deine Matrix händisch eingeben. M.E. könnte man "meine" Matrix ganz einfach in VBA über 3 verschachtelte Schleifen in die Tabelle eintragen lassen. Der Aufwand für das Eintragen der notwendigen Informationen in die Tabelle wäre der gleiche, die Formeln wären aber viel einfacher. Nebenbei: Wie kompliziert wird denn Deine Formel bei 8 Kategorien? Da bekommst Du ja schon Probleme mit den Verschachtelungen der Wenn-Funktion.
Aber jeder wie er will ...
Gruß
Martin Beck
Anzeige
AW: Lösung ohne VBA
04.03.2005 15:03:21
Jan
Ups, hab da gerade nicht nachgedacht. Sorry, war wahrscheinlich wo anders als ich das geschreiben habe!
Ok, werd das ganze noch mal in Ruhe überdenken.
Aber genau wegen der Verschachtelungen der Wenn-Funktion möchte ich gerne eine If Then Else Anwendung. Dann habe ich auch keine Probleme mehr mit der Anzahl der Verschachtelungen.
Danke noch mal für die Mühe!
Gruß
Jan
AW: VBA für Matrix
07.03.2005 08:07:19
Jan
Hallo Ransi!
Kannst Du mir vielleicht doch ne Möglichkeit bieten, wie ich die WENN-Formel in eine If Then ELse Bedingung umschreiben kann?
Jan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige