Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1628to1632
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

Eigenschaften einer Klasse mit ForEach-Schleif

Eigenschaften einer Klasse mit ForEach-Schleif
25.06.2018 19:21:49
MakroMarco
Servus liebe Community,
folgende Frage an euch, und ich hoffe ihr könnt mir weiterhelfen.
Ich habe eine Klasse clsSollwerte mit den Eigenschaften Name und Kommentar.
Mittels ForEach-Schleife möchte ich diese getrennt ausgelesen. Prinzipiell kenne ich nur das vorgehen wie in modAusgabe dargestellt. Da meine Klasse jedoch sehr viele Eigenschaften besitzt, möchte ich nicht jedesmal eine ForEach-Schleife als Code schreiben (nur wenn es nicht anders geht :-(). Meine Gedanke (siehe modBesser) wäre daher, eine ForEach-Schleife in eine Sub zu schreiben und der Sub die jeweilige Eigenschaft übergeben. Geht das irgendwie?
Schon mal vorab ein Danke schön!
Klassenmodul: clsSollwerte

Private m_strName As String
Private m_strKommentar As String
Public Property Get Name() As String
Name = Replace(m_strName, "Name:", "")
End Property
Public Property Let Name(ByVal strName As String)
m_strName = strName
End Property
Public Property Get Kommentar() As String
Kommentar = Replace(m_strKommentar, "Kommentar:", "")
End Property
Public Property Let Kommentar(ByVal strKommentar As String)
m_strKommentar = strKommentar
End Property
Modul: modAusgabe 'Bisher

Private Sub Sollwerte()
Dim objSollwerte As Object
Dim objSollwert As clsSollwerte
For Each objSollwert In objSollwerte
Debug.Print objSollwert.Name
Next
For Each objSollwert In objSollwerte
Debug.Print objSollwert.Kommentar
Next
End Sub
Modul: modBesser 'Eure Hilfe :-)

Private m_objSollwerte As Object
Private m_objSollwert As clsSollwerte
Private Sub Sollwerte()
Schleife .Name
Schleife .Kommentar
End Sub
Private Sub Schleife(Uebergabe as ?)
For Each m_objSollwert In m_objSollwerte
Debug.Print m_objSollwert.Uebergabe
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Eigenschaften einer Klasse mit ForEach-Schleif
25.06.2018 19:55:41
Nepumuk
Hallo Marco,
im Prinzip so:
Option Explicit

Private m_objSollwert As Variant
Private m_objSollwerte(1 To 3) As clsSollwerte

Private Sub Sollwerte()
    Set m_objSollwerte(1) = New clsSollwerte
    Set m_objSollwerte(2) = New clsSollwerte
    Set m_objSollwerte(3) = New clsSollwerte
    With m_objSollwerte(1)
        .Name = "AAA"
        .Kommentar = "aaa"
    End With
    With m_objSollwerte(2)
        .Name = "BBB"
        .Kommentar = "bbb"
    End With
    With m_objSollwerte(3)
        .Name = "CCC"
        .Kommentar = "ccc"
    End With
    Call Schleife("Name")
    Call Schleife("Kommentar")
End Sub

Private Sub Schleife(Uebergabe As String)
    For Each m_objSollwert In m_objSollwerte
        Debug.Print CallByName(m_objSollwert, Uebergabe, VbGet)
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: Eigenschaften einer Klasse mit ForEach-Schleif
25.06.2018 20:48:17
MakroMarco
Hallo Nepumuk,
vielen Dank für deine schnelle Antwort und Hilfe.
Genau, das was ich gesucht habe, perfekt.
Deine Forenbeiträge habe ich schon des öfteren gelesen und fand sie bisher immer sehr hilfreich.
Gruß
Marco

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige