Thema Datum  Von Nutzer Rating
Antwort
Rot Objektorientiert in VBA Let,Set,Get - Methoden
20.01.2011 23:08:35 Gast56747
Solved

Ansicht des Beitrags:
Von:
Gast56747
Datum:
20.01.2011 23:08:35
Views:
7641
Rating: Antwort:
 Nein
Thema:
Objektorientiert in VBA Let,Set,Get - Methoden

Zahlen sortieren

//Klasse

Option Explicit

 

Private zahlen As Collection

 

Property Set neueZahlen(neueZahlen As Collection)

    Set zahlen = neueZahlen

End Property

 

Property Get neueZahlen() As Collection

    neueZahlen = zahlen

End Property

 

Function sortieren_rueckwaerts()

    Dim i As Variant

    For i = zahlen.Count To 1 Step -1

        sortieren_rueckwaerts = zahlen(i)

        Debug.Print (sortieren_rueckwaerts)

    Next i

End Function

 

Function sortieren_vorwaerts()

    Dim i As Integer

    For i = 1 To zahlen.Count

        sortieren_vorwaerts = zahlen(i)

        Debug.Print (sortieren_vorwaerts)

    Next i

End Function

 

//Modul

Option Explicit

Sub Zahlen_eingabe()

Dim zahlen1 As New Zahlen_Sortieren

Dim zahlen As New Collection

Dim eingabe As String

Dim splitter() As String

 

eingabe = InputBox("Bitte Zahlen mit , getrennt eingeben")

 

splitter = split(eingabe, ",")

 

Dim zahl As Variant

For Each zahl In splitter

    zahlen.Add (zahl)

Next zahl

    Set zahlen1.neueZahlen = zahlen

   

    Debug.Print ("Rückwärts:")

    zahlen1.sortieren_rueckwaerts

   

    Debug.Print ("Vorwärts:")

    zahlen1.sortieren_vorwaerts

   

End Sub

 

 

Fahrtenbuch

//Klasse

Option Explicit

 

Private name As String

Private ersterName As String

Private kennz As Long

Private kilometer As New Collection

 

Property Get kennzeichen() As Long

    kennzeichen = kennz

End Property

 

Property Let kennzeichen(nummer As Long)

    kennz = nummer

End Property

 

Property Get nachname() As String

    nachname = name

End Property

 

Property Let nachname(neuerName As String)

    name = neuerName

End Property

 

Property Get vorname() As String

    vorname = ersterName

End Property

 

Property Let vorname(neuerName As String)

    ersterName = neuerName

End Property

 

Function kilometerdurchschnitt() As Double

    Dim summe As Double

    summe = 0#

    Dim kilometerstand As Variant

    For Each kilometerstand In kilometer

        summe = summe + kilometerstand

    Next kilometerstand

    kilometerdurchschnitt = summe / kilometer.Count

End Function

 

Public Sub kilometerAdd(kilometer_eingabe As Double)

    kilometer.Add kilometer_eingabe

End Sub

 

Property Get alleKilometer() As Collection

    alleKilometer = kilometer

End Property

 

Property Set alleKilometer(neueKilometer As Collection)

    Set kilometer = neueKilometer

End Property

 

//Modul

Option Explicit

 

Sub Test()

    Dim auto1 As New Student

   

    auto1.kennzeichen = 1111

    auto1.nachname = "Wurst"

    auto1.vorname = "Hans"

   

    Debug.Print auto1.kennzeichen

    Debug.Print auto1.nachname

    Debug.Print auto1.vorname

   

    auto1.kilometerAdd (200)

    auto1.kilometerAdd (100)

   

    Debug.Print "Erster Durchschnitt"

    Debug.Print auto1.kilometerdurchschnitt

   

    Dim neueKilometer As New Collection

    neueKilometer.Add (1#)

   

    Set auto1.alleKilometer = neueKilometer

   

    Debug.Print "Zweiter Durchschnitt"

    Debug.Print auto1.kilometerdurchschnitt

       

End Sub

Zahlen sortieren

//Klasse

Option Explicit

 

Private zahlen As Collection

 

Property Set neueZahlen(neueZahlen As Collection)

    Set zahlen = neueZahlen

End Property

 

Property Get neueZahlen() As Collection

    neueZahlen = zahlen

End Property

 

Function sortieren_rueckwaerts()

    Dim i As Variant

    For i = zahlen.Count To 1 Step -1

        sortieren_rueckwaerts = zahlen(i)

        Debug.Print (sortieren_rueckwaerts)

    Next i

End Function

 

Function sortieren_vorwaerts()

    Dim i As Integer

    For i = 1 To zahlen.Count

        sortieren_vorwaerts = zahlen(i)

        Debug.Print (sortieren_vorwaerts)

    Next i

End Function

 

//Modul

Option Explicit

Sub Zahlen_eingabe()

Dim zahlen1 As New Zahlen_Sortieren

Dim zahlen As New Collection

Dim eingabe As String

Dim splitter() As String

 

eingabe = InputBox("Bitte Zahlen mit , getrennt eingeben")

 

splitter = split(eingabe, ",")

 

Dim zahl As Variant

For Each zahl In splitter

    zahlen.Add (zahl)

Next zahl

    Set zahlen1.neueZahlen = zahlen

   

    Debug.Print ("Rückwärts:")

    zahlen1.sortieren_rueckwaerts

   

    Debug.Print ("Vorwärts:")

    zahlen1.sortieren_vorwaerts

   

End Sub

 

 

Fahrtenbuch

//Klasse

Option Explicit

 

Private name As String

Private ersterName As String

Private kennz As Long

Private kilometer As New Collection

 

Property Get kennzeichen() As Long

    kennzeichen = kennz

End Property

 

Property Let kennzeichen(nummer As Long)

    kennz = nummer

End Property

 

Property Get nachname() As String

    nachname = name

End Property

 

Property Let nachname(neuerName As String)

    name = neuerName

End Property

 

Property Get vorname() As String

    vorname = ersterName

End Property

 

Property Let vorname(neuerName As String)

    ersterName = neuerName

End Property

 

Function kilometerdurchschnitt() As Double

    Dim summe As Double

    summe = 0#

    Dim kilometerstand As Variant

    For Each kilometerstand In kilometer

        summe = summe + kilometerstand

    Next kilometerstand

    kilometerdurchschnitt = summe / kilometer.Count

End Function

 

Public Sub kilometerAdd(kilometer_eingabe As Double)

    kilometer.Add kilometer_eingabe

End Sub

 

Property Get alleKilometer() As Collection

    alleKilometer = kilometer

End Property

 

Property Set alleKilometer(neueKilometer As Collection)

    Set kilometer = neueKilometer

End Property

 

//Modul

Option Explicit

 

Sub Test()

    Dim auto1 As New Student

   

    auto1.kennzeichen = 1111

    auto1.nachname = "Wurst"

    auto1.vorname = "Hans"

   

    Debug.Print auto1.kennzeichen

    Debug.Print auto1.nachname

    Debug.Print auto1.vorname

   

    auto1.kilometerAdd (200)

    auto1.kilometerAdd (100)

   

    Debug.Print "Erster Durchschnitt"

    Debug.Print auto1.kilometerdurchschnitt

   

    Dim neueKilometer As New Collection

    neueKilometer.Add (1#)

   

    Set auto1.alleKilometer = neueKilometer

   

    Debug.Print "Zweiter Durchschnitt"

    Debug.Print auto1.kilometerdurchschnitt

       

End Sub

 

Option Explicit
Sub test()
Dim eingabe As String
Dim zahl1 As New Zahlen_ausgabe

eingabe = InputBox("Bitte die Zahl eingeben")
eingabe = CInt(eingabe)

zahl1.zahlSet = eingabe
zahl1.runterzaehlen

End Sub

Option Explicit

Private zahlen As New Collection
Private zahl As Integer

Property Let zahlSet(neueZahl As Integer)
     zahl = neueZahl
End Property

Property Get zahlGet() As Integer
    zahlGet = zahl
End Property

Function runterzaehlen()
    Dim i As Integer
    For i = zahl To 1 Step -1
        If i Mod 3 = 0 Then
            zahlen.Add (i)
        End If
    Next i
    
    'Ausgabe'
    For i = 1 To zahlen.Count
        Debug.Print (zahlen(i))
    Next i
   
End Function


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Objektorientiert in VBA Let,Set,Get - Methoden
20.01.2011 23:08:35 Gast56747
Solved