Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Arrays und benutzerdefinierte Datentypen


Betrifft: Arrays und benutzerdefinierte Datentypen von: Manuel
Geschrieben am: 30.09.2019 21:55:07

Hallo zusammen

Ich habe ein Problem mit Arrays und benutzerdefinierten Datentypen.

Ich habe einen benutzerdefinierten Datentyp oben in einem Modul definiert,

Type data
    field As Integer
    value() As Integer
End Type
Nun möchte ich zu diesem Datentyp in einem Sub eine Array erstellen.
Sub Vorbereitung()
Dim f() As data
Dummerweise kann weder von value noch vom Array f die Grösse definiert werden. Deshalb müssen die Arrays nachträglich redimensioniert werden.

Hierbei scheitere ich allerding.

Was ich versucht habe ist folgendes.
1.
ReDim f(1 To ro, 1 To co)
ReDim f().value(1 To k)
2.
ReDim f(1 To ro, 1 To co)
ReDim f.value(1 To k)
3.
ReDim f(1 To ro, 1 To co).value(1 To k)
Variante drei hat eine Korrektur zu
 To  )

zur Folge. Bei einer Ausführung stürtzt Excel ohne Fehlermeldung ab.

Weiss jemand, wie ein solches Konstrukt dimensioniert werden könnte?

Vielen Dank für die Antworten

Manuel

  

Betrifft: AW: Arrays und benutzerdefinierte Datentypen von: Mullit
Geschrieben am: 01.10.2019 00:30:51

Hallo,

für den Anfang mal ein Bsp. mit Ausgabe...

Option Explicit

Public Type MY_DATA
    intField As Integer
    aintValue() As Integer
End Type

Public Sub Vorbereitung()
Dim f() As MY_DATA
Dim ro As Long, co As Long, k As Long
Dim lngRow As Long, lngColumn As Long
ro = 5
co = 5
k = 10
ReDim f(1 To ro, 1 To co)
For lngRow = 1 To ro
    For lngColumn = 1 To co
        ReDim f(lngRow, lngColumn).aintValue(1 To k)
    Next
Next
f(1, 1).aintValue(1) = 10
f(2, 2).aintValue(3) = 15
MsgBox f(1, 1).aintValue(1) & vbCr & f(2, 2).aintValue(3)
End Sub

Gruß, Mullit


  

Betrifft: AW: Arrays und benutzerdefinierte Datentypen von: Mullit
Geschrieben am: 01.10.2019 00:40:05

Hallo,

viell. sollten wir direkt zu Nepumuks Tutorial verlinken, dann bist Du schon mal auf der richtigen Linie...;-)

https://www.office-loesung.de/ftopic251835_0_0_asc.php

Gruß, Mullit


  

Betrifft: AW: Arrays und benutzerdefinierte Datentypen von: Manuel
Geschrieben am: 03.10.2019 18:49:33

Vielen Dank Mullit

Mit dieser Methode ist sogar ein verschieden grosses Dimensionieren der aintValue-Arrays möglich. Mehr als ich mir erhofft hätte.


Beiträge aus dem Excel-Forum zum Thema "Arrays und benutzerdefinierte Datentypen"