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

Variabel zur Laufzeit Instanzen erzeugen

Variabel zur Laufzeit Instanzen erzeugen
04.10.2015 19:06:32
Patrick
Hallo Zusammen,
ich habe ein Tabellenblatt das ich als Datenbank nutze. In diesem Tabellenblatt gibt es eine Variable Anzahl Einträge verschiedener Kategorien. Jetzt wollte ich meine Datenbank durchlaufen und dabei die Einträge jeder Kategorie in einer eigenen Instanz einer Klasse aufsummieren. Leider konnte ich nichts finden wie ich eine Instanz einer Klasse zur Laufzeit erzeuge.
Sollte meine Idee nicht umsetzbar sein bin ich auch für andere Lösungsansätze offen.
Es ist eine art Haushaltstagebuch. Es gibt z.b. Eine Kategorie Versicherungen. Es ist aber möglich das z.b. noch eine Kategorie KFZ-Versicherungen dazukommt. Dafür will ich dann aber nicht unbedingt wieder selbst Hand anlegen müssen. Es soll einfach eine weitere Instanz der gleichen Klasse angelegt werden und die Werte sollen darin aufsummiert werden, und später automatisch die Ergebnisse in ein anderes Tabellenblatt schreiben.
Gruß Patrick

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variabel zur Laufzeit Instanzen erzeugen
04.10.2015 19:19:34
Nepumuk
Hallo,
Instanzen einer Klasse erzeugst du mit: Set MeineKlassenVariable = New MeineKlasse
Die Variable kann ein Array sein oder ein Eintrag in einer Collection. Wobei, für eine einzige Variable in der Klasse kannst du auch direkt eine Collection benutzen.
Lass mal deinen Code sehen damit ich sehe wo du ansetzen kannst.
Gruß
Nepumuk

AW: Variabel zur Laufzeit Instanzen erzeugen
04.10.2015 19:59:21
Patrick
Guten Abend,
ich bin gerade unterwegs und kann gerade kein Beispiel schicken.
Das mit "Set" ist mir klar, und das ist auch nicht das Problem.
Ich bekomme über eine Funktion die Anzahl geliefert und möchte dann per Schleife die gleiche Anzahl Instanzen erzeugen.
For i = 1 to 5
Set meineKlassenvariable & i = new meineKlasse
Next i
Das ist das Problem.
Gruß Patrick

Anzeige
AW: Variabel zur Laufzeit Instanzen erzeugen
04.10.2015 20:03:22
Nepumuk
Hallo,
als Beispiel ein Array.
Dim meineKlassenvariable() As meineKlasse
Dim i As Long
Redim meineKlassenvariable(1 To 5)
For i = 1 To 5
    Set meineKlassenvariable(i) = New meineKlasse
Next i

Gruß
Nepumuk

Anzeige
AW: Variabel zur Laufzeit Instanzen erzeugen
04.10.2015 23:02:16
Patrick
Hallo Nepumuk,
vielen lieben Dank. Das ist genau das was ich gesucht habe.Auf die Klammer hätte ich zwar selbst kommen können, aber ich habe es nicht hin bekommen.
Schönen Abend und Gruß Patrick

AW: Variabel zur Laufzeit Instanzen erzeugen
04.10.2015 19:23:22
Hajo_Zi
Hallo Patrick,
ich hätte es ja über Formeln gelöst.

Tabelle2
 CDE
1HTTP://WWW.excelformeln.de/formeln.html?welcher=194Art 
2 versicherung111
3 versicherung213
4 versicherung315
5 versicherung417
6 versicherung519
7 versicherung621
8 versicherung723
9 versicherung825
10 versicherung927
11   
12   

verwendete Formeln
Zelle Formel Bereich N/A
D1{=INDEX(A:A;MIN(WENN(A1:A19<>"";ZEILE(1:19))))}$D$1 
D2: D12{=WENNFEHLER(INDEX(A:A;VERGLEICH(1;(ZÄHLENWENN($D$1: D1;$A$1:$A$19)=0)*($A$1:$A$19<>"");0));"")}$D$2 
E2:E12=WENN(D2<>"";SUMMENPRODUKT(($A$2:$A$19=D2)*($B$2:$B$19));"")  
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!

Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.08 einschl. 64 Bit



Anzeige
AW: Variabel zur Laufzeit Instanzen erzeugen
04.10.2015 23:00:02
Patrick
Hallo Hajo,
dein Einwand ist natürlich berechtigt und dein Vorschlag würde auch funktionieren. Bei dem angesprochenen "Ausschnitt" aus dem Projekt ist mit Sicherheit deine Idee die bessere, schnellere und praktikablere. Aber es wird ja anschließend noch einiges mehr gerechnet, und da glaube ich komme ich langsam an die Grenzen der Formeln. Ich will es eigentlich nur per VBA lösen weil ich da noch viel zu lernen habe, und weil ich glaube das es schneller ist. Was aber nur eine Vermutung ist. Aber wenn ich falsch liege, wirst du mich bestimmt berichtigen.
Gruß Patrick

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige