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

Public Type

Public Type
25.01.2007 15:46:58
Dieter
Hallo erst einmal...
habe mal wieder ein spezielles Problem für die Profis unter Euch...
Kann man selbstdefinierte Type irgendwie in einer Schleife ansprechen?
Das Beispiel mit dem Datensatz und den Personen ist nicht wirklich das, für was ich es brauche, aber so wird u.U. am einfachsten klar, was ich meine, ohne erst gross mein Programm erklären zu müssen.
Public Type Datensatz
Dim Name as Variant
Dim PersNr as Variant
End Type
'********************************
dim DS as Datensatz
DS.Name=Array("Name1","Name2","Name3")
DS.PersNr=Array("1001","1002","1003")
und jetzt würde ich gerne über eine Schleife den 2. Datensatz (Name2, 1002) auslesen aus der Variablen DS.
Geht das irgendwie?
Wieso ich nicht gleich einen Array nehme? Weil ich irgendwo ganz woanders eine sehr spezielle Zuweisung vornehme, die so aussehen könnte:
iZaehler = 2
cells(1,1)=DS.Name(iZaehler)
Und wenn ich jetzt einen Array nehme, dass muss ich mir irgendwie den Index des Arrays merken. Mit DS.xxx hat man es da bedeutend einfacher. Besonders dann, wenn man mehr als zwei Werte in der Variablen DS hat.
Ich hoffe ich konnte erklären, was mein Problem ist, und ich hoffe, dass mir jemand helfen kann.
In diesem Sinne freundlichst Grüßend
Dieter W.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Public Type
25.01.2007 16:24:18
Peter
Hallo Dieter,
meintest du so etwas:


Public Type Datensatz
   Name As Variant
   PersNr As Variant
End Type
Public Sub VersuchEs()
Dim DS         As Datensatz
Dim iIndex     As Integer
Dim bGefunden  As Boolean
   DS.Name = Array("Name1", "Name2", "Name3")
   DS.PersNr = Array("1001", "1002", "1003")
   For iIndex = 0 To UBound(DS.PersNr)
      If DS.PersNr(iIndex) = "1002" Then
         bGefunden = True
         Exit For
      End If
   Next iIndex
   If bGefunden = True Then
      MsgBox "der gesuchte Wert wurde bei Index " & iIndex & " gefunden."
    Else
      MsgBox " dergesuchte Begriff wurde nicht gefunden."
   End If
End Sub 


Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Public Type
26.01.2007 09:01:14
Dieter
Hallo Peter...
sorry, kam aber gestern nicht mehr dazu, noch zu antworten. Danke für Deine Bemühungen, aber das ist es leider nicht was ich suche...
"For iIndex = 0 To UBound(DS.PersNr)"
Dies bräuchte ich nicht für die Variable DS.PersNr, sondern nur für DS.
Die Syntax für Type lautet:
[Private | Public] Type VarName
Elementname [([Indizes])] As Typ
[Elementname [([Indizes])] As Typ]
. . .
End Type
Also die Frage ist noch offen... kann ich die Anzahl der Elementnamen feststellen, bzw. kann ich auf alle Elementnamen von VarName über eine Schleife zugreifen.
Freundlichst Dieter W.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige