Announcement

Collapse
No announcement yet.

eigene Objekte in einer for schleife

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • eigene Objekte in einer for schleife

    Hallo,

    habe verschieden Objekte deklariert und würde diese gern in einer for schleife nacheinander auswerten.
    So wie unten funktioniert das ganze. Allerdings scheitere ich kläglich an einem Konstrukt wie folgendem: For Each c In wuerfelseite & i.....
    Könnte mir vielleicht jemand weiterhelfen, da ich in vba nicht ganz so gut drauf bin....

    Vielen Dank schon jetzt und grüße aus Bärlin....

    Code:
    Sub löse()
    
    
    Dim wuerfel As Object
    Dim wuerfelseite1 As Range
    Dim wuerfelseite2 As Range  'oben
    Dim wuerfelseite3 As Range
    Dim wuerfelseite4 As Range  'unten
    Dim wuerfelseite5 As Range
    Dim wuerfelseite6 As Range
    Dim wuerfelseite As Range
    
    
    Set wuerfelseite1 = Range("A11:B12")
    Set wuerfelseite2 = Range("C11:D12")
    Set wuerfelseite3 = Range("E11:F12")
    Set wuerfelseite4 = Range("G11:H12")
    Set wuerfelseite5 = Range("C9:D10")
    Set wuerfelseite6 = Range("C13:D14")
    Set wuerfelseite = Nothing
    
    
    For i = 1 To 6
    
    For Each c In wuerfelseite1     ->statt der 1 würde ich gern i hier unterbringen!!
    Debug.Print c.Value
    
    
    
    Next c
    
    Next
    End Sub

  • #2
    Eineinhalb Möglichkeiten als Vorschlag

    Hallo,

    Hiermal eine Implementation mit indizierter Eigenschaft :

    Das "Innere" der Klasse "Wuerfel"

    Code:
    Private Seite1 As New Seite
    Private Seite2 As New Seite
    Private Seite3 As New Seite
    Private Seite4 As New Seite
    Private Seite5 As New Seite
    Private Seite6 As New Seite
    
    Public Property Get Seite(aIndex As Integer) As Variant
           Select Case aIndex
                  Case 1
                       Set Seite = Seite1
                  Case 2
                       Set Seite = Seite2
                  Case 3
                       Set Seite = Seite3
                  Case 4
                       Set Seite = Seite4
                  Case 5
                       Set Seite = Seite5
                  Case 6
                       Set Seite = Seite6
           
           End Select
    End Property
    Test-Prozedur :
    Code:
    Sub t4()
        Dim W1 As New Wuerfel
        Dim S As Seite
        
        Dim i As Integer
        
        For i = 1 To 6
            Set S = W1.Seite(i)
        
        Next i
        
    End Sub
    Alternativ müßte man (um direkt For Each zu verwenden) für die Verbindung "Würfel zu Seite" eine _NewEnum-Prozedur implementieren, was in VBA zwar mit Tricks gehen soll, aber schon etwas dirty ist...

    Evt. reicht Dir ja das Beispiel schon aus ;-)

    Grüße,
    tAgedObject
    darkness is a state of mind

    Comment


    • #3
      Vielen Dank, mal schauen was sich aus deinem Bsp. machen lässt...

      Sollte ich noch was geeigneteres finden gibt es noch ein Posting.....

      Comment

      Working...
      X