Hallo Stefan,
den Quellcode verstehe ich schon nur sind einige Sachen doch
umständlicher als ich mir die zu Beginn vorgestellt habe.
Naja was heisst umstaendlich? Eigentlich ist das simple und net viel Source
Sicher wirst du auch noch auf die eine oder andere Hürde stossen
wo du sagst, mensch das kann doch net so schwer sein, oder soviel Source.
Wenn wir allein, mal die Klasse nehmen! Sie soll ja 12 Member enthalten, die du aendern möchtest. Das heisst du musst für jeden Member eine Eigenschaft implementieren. Da kommt schnell viel Source zusammen. Aber dank der Intelsi Box ( oder wie sich die schimpft) ist das schnell gemacht 
Du wirst auch sehen, das du wenn du mit Klassen arbeitest, sehr viel flexibler bist, als ein Array anzulegen und dort die Daten zu speichern 
Jedoch gefällt mir die erwähnte Klassen-Programmierung (habe
jedoch noch keine Klassen in VB6 verwendet) ich werde mich
also ersteinmal mit dem Thema: „Verwenden von Klassen“
auseinandersetzen.
Naja da hast du dir etwas vorgenommen
Unter .NET kannst du soviel damit anstellen. Aber für dein Vorhaben, sollte eine Stink normale Klasse ohne schnick schnack ausreichen
Sprich du brauchst keine Vererbung etc 
Du kannst sie wiefolgt aufbauen
Option Strict On
Option Explicit On
Public Enum Data
eMember1
eMember2
eMember3
eMember4
eMember5
eMember6
eMember7
eMember8
eMember9
eMember10
eMember11
eMember12
End Enum
Public Class Item(Of DatenTyp) 'DatenSpeicher mit flexiblen Datentyp!
Private myMember1 As DatenTyp
Private myMember2 As DatenTyp
Private myMember3 As DatenTyp
Private myMember4 As DatenTyp
Private myMember5 As DatenTyp
Private myMember6 As DatenTyp
Private myMember7 As DatenTyp
Private myMember8 As DatenTyp
Private myMember9 As DatenTyp
Private myMember10 As DatenTyp
Private myMember11 As DatenTyp
Private myMember12 As DatenTyp
Sub New(ByVal vRet() As DatenTyp)
myMember1 = vRet(Data.eMember1)
myMember2 = vRet(Data.eMember2)
myMember3 = vRet(Data.eMember3)
myMember4 = vRet(Data.eMember4)
myMember5 = vRet(Data.eMember5)
myMember6 = vRet(Data.eMember6)
myMember7 = vRet(Data.eMember7)
myMember8 = vRet(Data.eMember8)
myMember9 = vRet(Data.eMember9)
myMember10 = vRet(Data.eMember10)
myMember11 = vRet(Data.eMember11)
myMember12 = vRet(Data.eMember12)
End Sub
Public Property Member1() As DatenTyp
Get
Return myMember1
End Get
Set(ByVal value As DatenTyp)
myMember1 = value
End Set
End Property
Public Property Member2() As DatenTyp
Get
Return myMember2
End Get
Set(ByVal value As DatenTyp)
myMember2 = value
End Set
End Property
Public Property Member3() As DatenTyp
Get
Return myMember3
End Get
Set(ByVal value As DatenTyp)
myMember3 = value
End Set
End Property
Public Property Member4() As DatenTyp
Get
Return myMember4
End Get
Set(ByVal value As DatenTyp)
myMember4 = value
End Set
End Property
Public Property Member5() As DatenTyp
Get
Return myMember5
End Get
Set(ByVal value As DatenTyp)
myMember5 = value
End Set
End Property
Public Property Member6() As DatenTyp
Get
Return myMember6
End Get
Set(ByVal value As DatenTyp)
myMember6 = value
End Set
End Property
Public Property Member7() As DatenTyp
Get
Return myMember7
End Get
Set(ByVal value As DatenTyp)
myMember7 = value
End Set
End Property
Public Property Member8() As DatenTyp
Get
Return myMember8
End Get
Set(ByVal value As DatenTyp)
myMember8 = value
End Set
End Property
Public Property Member9() As DatenTyp
Get
Return myMember9
End Get
Set(ByVal value As DatenTyp)
myMember9 = value
End Set
End Property
Public Property Member10() As DatenTyp
Get
Return myMember10
End Get
Set(ByVal value As DatenTyp)
myMember10 = value
End Set
End Property
Public Property Member11() As DatenTyp
Get
Return myMember11
End Get
Set(ByVal value As DatenTyp)
myMember11 = value
End Set
End Property
Public Property Member12() As DatenTyp
Get
Return myMember12
End Get
Set(ByVal value As DatenTyp)
myMember12 = value
End Set
End Property
Public Sub SetData(ByVal vret As DatenTyp)
myMember1 = vret
End Sub
End Class
Wie du siehst kommt ne Menge Source zusammen :s
Aber auch wie du erkennen kannst, wiederholt sich eigentlich der Source nur 
Kommen wir nun noch einmal schnell zur Flexibilitaet.
Ein ganz grosser Vorteil ist, das diese Klasse jeden beliebigen Datentyp ( String, Double, Date etc.) speichern kann!
Irgendwann kommst du später einmal auf die Idee. Hmm, eigentlich brauche ich eine Function die für jeden Datensatz ausgeführt werden soll. Oder du sagst, naja eigentlich koennte ich noch andere Daten speichern etc. So kannst du die Klasse fix umbauen und sie tut das was sie soll. An dieser Stelle würde VErerbung ins Spiel kommen 
Hast du die Daten in einem Array, so kommst du an dieser Stelle schon ins schleudern und schreibst dir die Finger wund (je nachdem was du machen möchtest! Mit einer Klasse ist das kein Thema.
Du implementierst einfach nur die Sub oder Property oder Function , Schnittstelle eine andere Klasse etc. und das wars auch schon 
Wenn du nun die Klasse zum Bsp erstellst
Dim locData() As String = {"A", "B", "C", "D", "E", "F", "G", "H", I", "J", "K", "L"}
Dim locData1() As String = {"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X"}
Dim b As New List(Of Item(Of String)) ' Wir verwenden den Datentyp String!
b.Add(New Item(Of String)(locData))
b.Add(New Item(Of String)(locData1))
Ich weiss , ist net sehr einfallsreich :s
locdata und locData1 stellen einfach nur die Daten bereit 
Mit b.add fügst du daten der Collection hinzu!
Da die Collection aber vom Typ Item (was die Klasse ist) ist, so musst du ihr einfach eine neue Instanz der Klasse übergeben 
Das machst du mit New Item(of String)(DieDaten) 
Vielleicht wunderst du dich nun, warum hier auf einmal (Of String) auftauchst! Ich hatte dir ja geschrieben das die Klasse arg Flexible ist, auch vom Datentyp her!
New Item ( Of String) (DeineDaten) bedeutet in dem Falle!
New Item = Es wird eine neue Instanz von der Klasse Item erstellt!
(Of String) = Die Klasse kann Strings speichern, willst du Double
speichern, so schreibe einfach (of Double)
(DeineDaten) = hier uebergibst du die Daten! In dem Demo, werden sie als Array erwartet 
In B werden nun fleissig alle Daten eingetragen!
B stellt nun auch tolle Function zur verfügung, die du bei einem Array net finden wirst
Du koenntest nun eine Schleife bauen und wenn du nun genau für den Datensatz die gewisse Function brauchst, so kannst du sie dann ueber b.DeineFunction aufrufen
( sie muss natürlich in der Klasse implementiert sein!
Auch kannst du nun die Daten direkt manipulieren!
Willst du zum Bsp. den 4 Member vom 3 Datensatz aendern, so kannst du das einfach über B(3).Member4 = „DeineDaten“ machen 
in unseren kleinen Demo, zum Bsp. würden wir das so machen! Wir implementieren einfach mal eine Function die uns Member1 und Member 2 zusammen zurueckliefert! In dem Falle w+rden wir einfach folgendes schreiben 
'in der Klasse
Public Function GetData as String
return myMember1 & myMember2
End Function
Nun brauchen wir die Daten vom 4 Datensatz. Ein Aufruf via B(3).GetData liefert uns die gewuenschten Daten 
Achso, was mir nun gerade einfaellt
Du koenntest und solltest zum Bsp. eine Function einbauen, die die Daten vor dem eintragen prüft! Auch waere eine Function nicht schlecht, die dir die Daten in die Textfelder eintraegt oder die dir zurueckgibt welche Daten geaendert worden sind! Und zum Schluss auch noch eine, die dir die Daten aufbereitet zurueckliefert, so das du sie ins File schreiben kannst 
Dir ist sicher aufgefallen das die Klasse eine Sub New besitzt. Das ist der Konstrucktor und wird aufgerufen, wenn die Klasse neu Instanziert wird! Die Sub kannst du zum Bsp. nutzen um deine Daten zu prüfen und ggfls. zu aendern!
Du solltest nur daran denken , das du flexible Datentypen entgegennehmen kannst! Bleiben wir mal bei den Strings 
Ein String ist ein OBJECT unter VB und kann unter anderem Nothing sein
Das solltest du prüfen. Hierzu bietet sich die Kurzschluss Auswertung an. Sprich
if DeineVariabe ist nothing orelse DeineVariable ="" then ....
Währe aber dankbar über weitere Tipps.
Nunja, was magst denn noch wissen ? Ein paar Tipps hast du ja schon 
Cu Stefan
PS: „sollte ich fragen habe darf ich dich dann auch über
E-Mail Kontakten ?“
Jups, das kannst du machen
Aber wenn dann bitte an [email protected] 
MfG Alex
PS: Kann sein, das das alles ein wenig durcheinander ist :s Ich hoffe du verstehst trotzdem was ich meinte. Wenn nicht, einfach nachfragen 