Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige