Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

benutzerdefinierte Datentyp in Collection

benutzerdefinierte Datentyp in Collection
15.09.2005 17:21:17
Stefan
Hallo Excelgemeinde,
ich habe einen benutzerdefinierten Datentyp angelegt.
in gleichem Modul möchte ich in einer Sub einen Satz dieses Typs einem Collection-Objekt zuweisen. Dabei erhalte ich folgende Fehlermeldung:
"Nur öffentliche, benutzerdefinierte Typen, die in öffentlichen Objektmodulen definiert sind, können als Parameter oder Rückgabetypen für öffentliche Prozeduren von Klassenmodulen oder als Felder öffentlicher, benutzerdefinierter Typen verwendet werden"
Wer kann mir da weiterhelfen?
Vielen Dank im Voraus
Stefan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: benutzerdefinierte Datentyp in Collection
15.09.2005 17:26:09
Fred
Hi,
steht doch alles da, den Datentyp im Deklarationsteil eines Standardmoduls als Public deklarieren.
mfg Fred
AW: benutzerdefinierte Datentyp in Collection
15.09.2005 17:39:56
Stefan
Hallo Fred,
habe ich, trotzdem keinen Erfolg!
Anbei mein Modul. Wo liegt der Fehler?
Option Explicit
Public Type ABIT
strKontonummer As String
bytKontoart As Byte
sngBruttoford As Single
sngkorrZinsen As Single
sngNettoford As Single
sngBlanko As Single
sngEWB_VJ As Single
sngZuführung As Single
sngAuflösung As Single
sngVerbrauch As Single
sngUmsetzung As Single
sngEWB_neu As Single
vntEWB_Konto As Variant
End Type
Public

Sub Datenvergleich_ABIT_KRM()
' erstellt Stefan Krähe / 15.09.2005
' geändert Stefan Krähe / 15.09.2005
' Führt die Fehlerbehandlung für das Projekt durch
Dim Datensammlung As Collection
Dim vntDatenfeld() As Variant
Dim strDatenzeile() As String
Dim lngZeile As Long
Dim udtDatensatz As ABIT
'Daten in Range lesen
Worksheets("ABITDAT").Select
ActiveSheet.UsedRange.Select
vntDatenfeld = Selection
'Daten in Collection lesen
For lngZeile = 1 To UBound(vntDatenfeld, 1)
strDatenzeile = Split(vntDatenfeld(lngZeile, 1), " ")
If UBound(strDatenzeile, 1) = 12 Then
With udtDatensatz
.strKontonummer = strDatenzeile(7)
.bytKontoart = strDatenzeile(12)
.sngBruttoford = strDatenzeile(0)
.sngkorrZinsen = strDatenzeile(10)
.sngNettoford = strDatenzeile(11)
.sngBlanko = strDatenzeile(1)
.sngEWB_VJ = strDatenzeile(2)
.sngZuführung = strDatenzeile(3)
.sngAuflösung = strDatenzeile(4)
.sngVerbrauch = strDatenzeile(5)
.sngUmsetzung = strDatenzeile(8)
.sngEWB_neu = strDatenzeile(6)
.vntEWB_Konto = strDatenzeile(9)
End With
Datensammlung.Add Item:=udtDatensatz, key:=udtDatensatz.strKontonummer
End If
Next lngZeile
End Sub

Anzeige
AW: benutzerdefinierte Datentyp in Collection
15.09.2005 21:27:34
Luschi
Hallo Stefan,
ich habe mal Dein Beispiel zum laufen gebracht und in paar Hinweise dazu
geschrieben. Beachte, das alle Itemeinträge vom Typ String sind, auch wenn
die Type-Deklaration einen anderen Datentyp hat. In der Collection enthält
der Item-Eintrag den zu speichernden Wert.
https://www.herber.de/bbs/user/26618.xls
Gruß von Luschi
aus klein-Paris
AW: benutzerdefinierte Datentyp in Collection
16.09.2005 08:57:17
Stefan
Hallo Luschi,
Danke für Deine Hilfe. Also kann ich keinen benutzerdefinierten Datentyp zu einer Sammlung hinzufügen, sondern nur dessen Elemente, oder ?
Gruß
Stefan.
Anzeige
AW: benutzerdefinierte Datentyp in Collection
15.09.2005 18:22:06
Stefan
Hallo Fred,
hier die kürzere Variante, die bei mir gleichfalls nicht läuft:
Option Explicit
Public Type Testtyp
strTest As String
End Type
Public colTest As Collection

Sub test()
Dim udtTest As Testtyp
Set colTest = New Collection
colTest.Add Item:=udtTest
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige