Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1572to1576
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

Typ Eigenschaften dynamisch suchen

Typ Eigenschaften dynamisch suchen
09.08.2017 09:52:28
Tim
Moin zusammen,
um alles etwas sauberer abzubilden und einfacher erweiterbar zumachen, möchte ich Arrays (Excel VBA) durch eigene Types ersetzen. Die Arrays (2 Dimensionen) haben den Vorteil, das man sie wie eine Tabelle zeilen- und spaltenweise nach abfragen kann; einfach unter Angabe der zu durchsuchenden Spalte, Suchwert und der auszugebenden Spalte in der gefundenen Zeile. Im Prinzip wie eine SQL-Abfrage.
Das Problem ist, das bei dem Definierten Type feste Namen für die Eigenschaften vergeben sind, das das Dynamische Ändern oder Abfragen mit Zeile/Spalte schwierig macht.
Bei Array ist der Nachteil das man sich immer die Nummer/Position der Spalte (zweite Dimension) merken / nachschauen muss und das man durch Dim / Redim / Preserve die Dimension erweitern muss, wenn etwas neues dazukommt.
Beispiel Array:
Das Array ist wie folgt definiert:
Public arr(0 to X, 0 to Y) As Variant
Beispiel Type
Public Type Daten
Name As String
Wert1 As Integer
Wert2 As Boolean
....
End Type
Das ganze als Array:
Public arr_Daten(0 to X) As Daten
Hier gibt es also nur noch eine Dimension mit fest definierten Eigenschaften und Datentypen, das die ganze Sache auch weniger Speicherintensiv macht (lezteres ist eigentlich unerheblich.
Lassen sich Die Eigenschaften dynamisch suchen; z.B. Analog eines Controls in einer form: Me.Controls("Label" & i)

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

Betreff
Datum
Anwender
Anzeige
Nein. (owT)
09.08.2017 10:09:08
EtoPHG

AW: Typ Eigenschaften dynamisch suchen
09.08.2017 12:48:26
Tino
Hallo,
im VBA scheint diese Variante als manchmal hilfreich als eine Art intellisense.
Aber um Daten in Excel zu schreiben o. zu lesen ist dies nicht gerade angebracht.
Es wird ziemlich mühselig aus dem eindimensionalen Array mit den einzelnen Items
ein mehrdimensionales Array zu machen.
Gruß Tino
Was ist d.Hintergrund (d.eigentliche Problem) ...
09.08.2017 21:14:14
Luc:-?
…deines Ansinnens, Tim,
die ReDimensionierung von n-dimensionalen Arrays? Dann verwende doch 1dimensionale, deren Elemente ebenfalls 1dimensionale Arrays sind (analog ParamArray)! Diese erlauben ebenfalls die Indizierung eines Einzelwerts, aber auch auf einfache Weise die einer ganzen Zeile (entsprd umgeformt auch einer Spalte).
Vorteil: Der vertikal-1-dimensionale HptVektor kann ebenso redimensioniert wdn (→mehr Zeilen) wie jeder einzelne ZeilenVektor (→mehr Spalten). Ergibt sich daraus eine reguläre rechteckige Matrix, kann eine UDF in einer ZellFml die auch oW auf ein TabBlatt abbilden, einer SubProz fehlt dagg die Xl-Unterstützung und diese Matrix muss erst normalisiert wdn, falls sie auf 1× abgebildet wdn soll, sonst nur hptvektorelement-=zeilenweise. Die meisten Xl-Fktt, die Datenfelder verarbeiten können, können auch so etwas als einschlägiges Argument verwenden.
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige